목차
그림 목차 ... 10
표 목차 ... 13
샘플 프로그램 목차 ... 14
일러 두기 ... 15
Chapter 1 컴퓨터 그래픽스와 OpenVG ... 17
   1.1 컴퓨터 그래픽스 개요 ... 18
      컴퓨터 그래픽스의 발전 ... 18
      컴퓨터 그래픽스의 분류 ... 19
      그래픽스의 시스템 ... 23
      그래픽스 소프트웨어의 구성 ... 23
   1.2 KHRONOS Group과 OpenVG ... 25
      KHRONOS 그룹 ... 25
      OpenVG 표준 ... 27
   1.3 파이프라인 ... 30
      Stage 1 : Path, Transformation, Stroke, and Paint Definition ... 30
      Stage 2 : Stroke Path Generation ... 33
      Stage 3 : 변환 Transformation ... 34
      Stage 4 : 래스터화 Rasterization ... 35
      Stage 5 : 클리핑과 마스킹 ... 36
      Stage 6 : Paint Generation ... 38
      Stage 7 : Image Interpolation ... 39
      Stage 8 : Blending and Antialiasing ... 40
      Stage 9 : Multisampling (OpenVG 1.1 Only) ... 41
      안티애일리어싱 효과의 이해 ... 42
      OpenVG Pipeline 정리 ... 43
Chapter 2 OpenVG 개발 환경 ... 45
   2.1 개발 도구 ... 46
      개발 플랫폼, 윈도우 시스템에 따른 개발 방법 ... 47
   2.2 휴원의 AlexVG™ StudyKit ... 48
      AlexVG™ StudyKit 개요 ... 48
      AlexVG 개발 도구 설치 ... 48
   2.3 윈도우 시스템의 구성 ... 52
      윈도우의 생성 ... 52
      이벤트 핸들러 구성 ... 54
      환경설정 테스트: 나의 첫번째 OpenVG 프로그래밍 ... 57
   2.4 EGL에 대한 간단한 설명 ... 62
Chapter 3 OpenVG 프로그래밍 기초 ... 65
   3.1 OpenVG API 의 소개 ... 66
      API 설계 Concept ... 66
   3.2 자료형, 오류 코드, 함수 ... 68
      자료형 (Data Types) ... 68
      Error Codes ... 70
      Parameter의 설정 ... 71
   3.3 간단한 Path 그리기 ... 72
      OpenVG의 좌표계 개요 ... 72
      삼각형 그리기 ... 72
      삼각형의 외곽선 색상 바꾸기 ... 74
      삼각형의 내부를 회색으로 칠하기 ... 75
      삼각형을 변환 ... 76
   3.4 이미지 간단하게 그리기 ... 77
      이미지 그리기 ... 77
Chapter 4 Path ... 81
   4.1 Path의 구성 ... 82
      Path와 SubPath ... 82
      단순 다각형과 복잡 다각형 ... 84
      Subpath와 세그먼트 ... 85
   4.2 직선 세그먼트 (MoveTo, LineTo, ClosePath) ... 89
      MoveTo (x0,y0) ... 89
      LineTo (x0,y0) ... 89
      HLineTo (x0) ... 89
      VLineTo (y0) ... 89
      ClosePath () ... 89
   4.3 곡선 세그먼트 (CubicTo, QuadTo, SCubicTo, SQuadTo ) ... 91
      베지어 곡선 (Bezier Curve)의 이해 ... 91
      두개의 베지어 곡선의 연결 ... 95
   4.4 원호 세그먼트 (Elliptical Arc) ... 97
      원호 ... 97
   4.5 Path 오브젝트와 관련 명령 ... 100
      Path의 생성과 삭제 (Creating and Destroying Path) ... 100
      Path 데이터 입력 (Appending Client-Side Data to a Path) ... 103
      Path 프로그램 작성 ... 104
      렌더링 (Fill or Stroke) ... 106
   4.6 Path 관련 기타 명령 ... 107
      Path 관련 질의 ... 107
      Path의 Capabilities ... 108
      Path간 데이터 복사 ... 108
      Path 데이터의 수정 ... 109
      Path의 변환 ... 109
      두개의 Path를 보간 ... 110
      Path의 길이 ... 111
      Path 상의 위치에서 위치와 접선 벡터 ... 112
      Path의 Boundgin Box 질의 ... 113
Chapter 5 Fill and Stroke ... 115
   5.1 Path의 Fill ... 116
      Fill Rule ... 116
      자동 닫힘 ... 118
   5.2 Path의 Stroke ... 119
      line width ... 119
      end cap style ... 119
      join style ... 119
      miter limit ... 120
      점선 (Dash) ... 122
      Stroke와 Anti-aliasing ... 125
Chapter 6 페인트 ... 127
   6.1 페인트의 종류 ... 128
      단색 페인트 (Solid Color) ... 128
      선형 그라디언트 (Linear Gradient) ... 128
      원형 그라디언트 (Radial Gradient) ... 128
      Color Ramp ... 129
      Color Ramp Spread Modes ... 130
      Pattern 페인트 ... 131
   6.2 페인트 오브젝트 ... 132
      페인트 오브젝트의 생성과 제거 ... 132
      페인트 파라메터 설정 ... 132
      페인트의 종류 설정 ... 133
      컬러 페인트 설정 ... 134
      선형 그라디언트 페인트 설정 ... 136
      원형 그라디언트 페인트 설정 ... 138
      패턴 페인트 설정 ... 140
Chapter 7 컬러와 이미지 ... 143
   7.1 컬러 개요 ... 144
   7.2 이미지 오브젝트 (Image Object) ... 148
      이미지 포맷 (Image Formats) ... 148
      이미지 출력 모드 ... 150
      이미지 오브젝트의 생성과 제거 ... 156
      이미지 데이터 설정 ... 159
      화면에 이미지 그리기 ... 162
   7.3 이미지 API ... 163
      이미지 속성 질의 ... 163
      자식 이미지 (Child Image) ... 163
      이미지간 픽셀 복사 ... 166
      화면을 이용하는 이미지 API ... 167
   7.4 이미지 필터 API ... 170
      이미지 형식 정규화 (Format Normalization) ... 170
      컬러 조합 (Color Combination) ... 171
      컨볼루션 (Convolution) ... 173
      Lookup Table ... 179
      Color Plates ... 181
Chapter 8 변환 ... 205
   8.1 OpenVG의 좌표계 ... 206
      2차원 직교 좌표계 ... 206
      사용자 좌표계 ... 207
      화면 좌표계 ... 208
      페인트 좌표계 ... 208
   8.2 변환 ... 209
      변환과 행렬 ... 209
      변환의 종류 ... 210
      OpenVG에서의 변환의 종류 ... 212
      Affine Transform과 Projective(Perspective) Transform ... 214
      복합 변환 ... 215
   8.3 변환 API ... 217
      Matrix Mode ... 217
      변환 행렬 API ... 217
Chapter 9 시저링과 매스킹 ... 223
   9.1 Scissoring ... 224
      Scissoring 설정 ... 225
   9.2 매스킹 (Masking) ... 227
      VGMaskOperation의 종류 ... 228
      vgMask 함수 ... 230
   9.3 RenderToMask (OpenVG 1.1 Only) ... 234
Chapter 10 컬러 변환과 블렌딩 ... 239
   10. 1 컬러 변환 ... 240
      컬러 변환 설정 방법 ... 240
   10.2 블렌딩 ... 242
      블렌딩 모드 ... 242
      블렌딩 모드의 설정 ... 244
Chapter 11 대화형 그래픽스와 애니메이션 ... 251
   11.1 애니메이션 ... 252
      프레임율과 리프레시율 (Frame Rate and Refresh Rate) ... 252
      애니메이션의 종류 ... 254
      애니메이션을 위한 12개의 기본 원칙 ... 257
   11.2 애니메이션 및 대화형 프로그램 설정 ... 260
      타이머 설정 및 키 이벤트 설정 ... 260
      프로그램 최적화 가이드라인 ... 262
   11.3 애니메이션의 대상 ... 264
Chapter 12 Font와 Glyph ... 269
   12.1 Text Rendering 개요 ... 270
      텍스트 관련 용어 정리 ... 270
      텍스트 렌더링 과정 ... 272
   12.2 글리프의 위치와 텍스트의 레이아웃 ... 273
   12.3 OpenVG에서 폰트의 사용 ... 275
      VGFont Objects and Glyph Mapping ... 275
      VGFont 오브젝트의 관리 ... 276
      VGFont 오브젝트에 대한 질의 ... 277
      VGFont에 글리프의 추가 삭제 ... 277
      Font Sharing ... 280
   12.4 Text Layout and Rendering ... 281
Chapter 13 VGU ... 289
   13.1 VGU 개요 ... 290
   13.2 기하 프리미티브 (Geometric Primitives) ... 291
   Line ... 291
   Polygon and PolyLines ... 292
   직사각형 ... 294
   모서리가 둥근 직사각형 ... 295
   타원 ... 296
   원호 ... 297
   13.3 이미지 워핑 (Image Warping) ... 299
      vguComputeWarpQuadToSquare ... 301
      vguComputeWarpSquareToQuad ... 302
      vguComputeWarpQuadToQuad ... 304
부록 ... 307
   A.1 Context Parameter 종류 및 초기값 ... 308
      파라미터의 역할 ... 310
      구현에 따른 파라메터 값 ... 315
   A.2 EGL ... 316
      EGL Display ... 316
      EGL Configurations ... 317
      EGL Configuration 선택 ... 318
      EGL Surfaces ... 318
      EGL Context ... 319
      EGL 설정 ... 320
      EGL 해제 ... 321
   A.3 헤더 파일 ... 322
      openvg.h 파일 ... 322
      vgu.h 파일 ... 333
      egl.h 파일 ... 335
   A.4 찾아보기 ... 341
닫기