Contents
[-]1.1.1. ������계 ¶
- ��������� ������계 : �������� ��������������� ������ ������ 그 ������계���. ����������� Z, �������� X, �������� Y, 그��������������� ��� ���������.
- ������ ������계 : 공간개��� ���������기 ���기 ��������� 그��������������� ������ ������������. �������� Z, �������� X, ����������� Y
- 구��� ������계 : ������ ��������� ������������ ��� ���������. ��������������������� 거��� ρ, z���과��� 각 θ, x���과��� 각 φ ��� 구���������. ���걸 그������ ������ ������������,
- x = ρsinθcosφ
- y = ρsinθsinφ
- z = ρcosθ
- x = ρsinθcosφ
1.1.2. ������ ¶
- ���.. ������ ���거 ������. ��� 고������교 ��� ������ 거���. ���������거��� ���개 ������������..
- ������ ���������.. ������������ ������겠���. ��������� 그���������까 ������ ��������.
- ��������� ⓐXⓑ ������게 ������������. ��������� ������ ⓐ������ ������ⓑ��������� 180��������� ������ 각������ ��������� �������� ������������ ������������. ���게 ��� 개���������--;
- ��������� ���기 : |ⓐXⓑ| = |ⓐ||ⓑ|sinθ
- ��������� ������ : ��� ��������� ��������� ��������� ������
1.1.3. ������ ¶
- 3X3��� ���������
~cpp | a1 b1 c1 | | b2 c2 | | b1 c1 | | b1 c1 | D = | a2 b2 c2 | = a1 | | - a2 | | + a3 | | | a3 b3 c3 | | b3 c3 | | b3 c3 | | b2 c2 |
- ��������� ��������� ��������� ���������기(i,j,k��� 각각 x,y,z��������� ������������)
~cpp | i j k | ⓐXⓑ = | Xa Ya Za | | Xb Yb Zb |
- 꼭������ ������ ������? ����� ������ ������ 거���..
1.2. ������ ������계��� 3������ ������ ������ ¶
- ������ ������계? 그��� ���기 ���게 ������������, ��������������� ������������ ������������������ ���������기�� ��������������, ��������� ��������� ����������� 그걸��� ������������ 거���.
- 3������ ��������� ��������������� x,y,z 그���고 w������ 값��� �������� ���������. 그��� 1��� ��������� ������.
1.2.1. ��������� ������ ������������ ������������ ���기(��� �������� ������������ ������������?) ¶
- ������������ ��������� ������게 ������������ ���������.
- ������������ xz������과 ������������ x������ ������������ ������������ ���������.
- ������������ z���과 ���������게 y������ ������������ ������������ ���������.
- ��������� ������ z������ ������������ ������������.
- ������ ������ ����� ���������
- ������ ������ ������ ����� ���������
- ������ ������ ������ ������ ����� ���������
- ��� ������������ ��� 곱������
~cpp T(-x1, -y1, -z1) Rx(φ) Ry(-θ) Rz(α) Ry(θ) Rx(-φ) T(x1, y1, z1) ������ ��������� ���������. 근��� ������ ��������� ������ ��������� ������ ��� ������������.
1.3. ������������ ��������� ¶
- ��������� : ������������ ��������� ��������� ��������
- ��������� ��������� x값��� ������값��� x(min), ������값��� x(max), y값��� ������값��� y(min), ������값��� y(max) ��� ������.
- ������������ ���각������ ������,������값��� X(min), X(max), Y(min), Y(max) ��� ������.
- ������/�������� 구������ 공���
- delx = (X(max) - X(min)) / (x(max) - x(min))
- dely = (Y(max) - Y(min)) / (y(max) - y(min))
- x(c) = (x(max) + x(min)) / 2
- y(c) = (y(max) + y(min)) / 2
- X(c) = (X(max) + X(min)) / 2
- Y(c) = (Y(max) + Y(min)) / 2
- c1 = X(c) - x(c) * delx
- c2 = Y(c) - y(c) * dely
- X = delx * x + c1
- Y = dely * y + c2
- delx = (X(max) - X(min)) / (x(max) - x(min))
1.4.1. ����� ¶
- ������ ������ ������������ ������.
- ��������� ���각������ mesh ��������� ��������� ��������� ������.
- ��������� ���각������ ��������� ������ ������������ ���������게 ��������������� ������.
- ��������� ������������ 공��������� ���각��������� ������ ��������� ��������� ������.
- mesh ��������� ���꾸거��� ��������������������� ��������� ������.
1.4.2. Explicit Polygons Mesh ¶
- 꼭��������� vertex table��� ��������� ���각������ 꼭��������� ��������� ��������� ������������ ������
- ������������ ��������� ��� ��� ���������, ����������� ������ ���������.
- ��������� P1 ���각������ ��������� Vertex������ ������계 ������ ��������� v1,v3,v4,v6������ ������ v1->v3->v4->v6 ������게 ��������게 ������������ 구��������� ������.
- ������
- ������ ����������� ��������� 그������게 ������.
- ������ ������������ 공������고 ������ ���각������ ���기�� ���������.
- ��������� �������� ������ ���������.
- ������ ����������� ��������� 그������게 ������.
2.1. 3������ 그������������? ¶
- ������ ��������� ������과 곡������ ������������ ��������� ������ ��������� ������ ������������ ������������ 'Wire frame ������'
- ������ ��������� 그����� ���������고 ������ ��������� ��������� ������ ������, ���������거 ���고������������ Shading ���고��������� ����������� ������ ������감 ���게 그 ��������� ������������ 'Surfaced ������'
- ������������ 고������ ������ ��������� ������������ 'Solid ������'
- ����� ��� ��������� : 깊���감 ������
2.1.1. ������ ¶
- 3��������� 2������������ ������������ ����� 기��������� ������
- ������������ (Parallel projection, orthogonal projection) : ��������� ������ ������ ������������ ������. 깊���감...��� ���������.
- ���근������ (Perspective projection) : ������ ������ ��������� ������(���근감 ���������) 깊���감 ������������ ������.
2.1.4. 그������ ¶
- ��������� : 계�������� ��������� ������감 ���������
- ������������ : 계�������� ������������ ������감 ������
2.2. ���각������과 ���근������ ¶
- ���������계(Xw,Yw,Zw) -> ���각������계(Xe,Ye,Ze) -> ��������� ������계(X,Y)
2.2.1. ���각������ ¶
- ���각��������� ��������� ������������ 구���������계��� ������.
- Xe, Ye, Ze, 1 = Xw, Yw, Zw, 1 V : V��� ���������계��� ���각������계��� ���꾸기 ������ ������
- ������ V 구���기
- ���������계��� ������ O��� ������ E��� ���������������������. T( -Xe, -Ye, -Ze )
- y������ ��������������� xy��������������� ������과 ��������������� ������. Z������ ������������ (������/2-θ) ������ (θ��� x���과��� 각)
- z������ ��������������� ��������� ��������� ��������� x������ ������������ (φ-������) ������ (φ��� z���과��� 각)
- x������ ��������� ���꾼���.
- 결���(���금 ������깐 �������� ��������������� ������ ������������ ��� ���������. ���과 ������ ������������.)
- ���������계��� ������ O��� ������ E��� ���������������������. T( -Xe, -Ye, -Ze )
~cpp V = T( -Xe, -Ye, -Ze) Rz(������/2-θ) Rx(φ-������) Myz | -sinθ -cosφcosθ -sinφcosθ 0 | | cosθ -cosφsinθ -sinφsinθ 0 | = | 0 sinφ -cosφ 0 | | 0 0 1 |
2.2.2. ���근������ ¶
- 그��� ������ ������������ ���������.. 그��� ������ ���������..
- X = d*x/z + c1, Y = d*y/z + c2 (d��� ������과 ��������� ��������� 거���, ������������ ����� 2c1, ������ 2c2)
3. ������(Blend) ¶
- ���갈������ ���������고 ��������������� ��������� ������ ��������� ���������길��� ���������.
- ������(source) : ������ 그��������� ������
- ������(destination) : ��������� ��������� ������ 그������ ������ ������
- ������������ ������ : glEnable(GL_BLEND), glBlendFunc(������ ��������� ������ ��������� 계������ 계��������� ������, ������ ��������� ������ ��������� 계������ 계��������� ������)
- ������ ��������� ������ 계��� ������
������ | ������ |
GL_ZERO | ������ ��������� 0,0,0,0 ������������ |
GL_ONE | ������ ��������� 그������ ������������ |
GL_DST_COLOR | ������ ������과 ������ ��������� 곱������ |
GL_ONE_MINUS_DST_COLOR | ������ ������과 ((1,1,1,1)-������ ������)��� 곱������ |
GL_SRC_ALPHA | ������ ��������� ������ ������ 값��� 곱������ |
GL_ONE_MINUS_SRC_ALPHA | ������ ��������� (1-������ ������값)��� 곱������ |
GL_DST_ALPHA | ������ ��������� ������ ������ 값��� 곱������ |
GL_ONE_MINUS_DST_ALPHA | ������ ��������� ((1,1,1,1)-������ ������ ������값)��� 곱������ |
GL_SRC_ALPHA_SATURATE | ������ ��������� ������������ 값과 (1-������ ������값)��� ������ ����� 곱������ |
- ������ ��������� ������ 계��� ������
������ | ������ |
GL_ZERO | ������ ��������� 0,0,0,0 ������������ |
GL_ONE | ������ ��������� 그������ ������������ |
GL_SRC_COLOR | ������ ������과 ������ ��������� 곱������ |
GL_ONE_MINUS_SRC_COLOR | ������ ������과 ((1,1,1,1)-������ ������)��� 곱������ |
GL_SRC_ALPHA | ������ ��������� ������ ������ 값��� 곱������ |
GL_ONE_MINUS_SRC_ALPHA | ������ ��������� (1-������ ������값)��� 곱������ |
GL_DST_ALPHA | ������ ��������� ������ ������ 값��� 곱������ |
GL_ONE_MINUS_DST_ALPHA | ������ ��������� ((1,1,1,1)-������ ������ ������값)��� 곱������ |
GL_SRC_ALPHA_SATURATE | ������ ��������� ������������ 값과 (1-������ ������값)��� ������ ����� 곱������ |
4. TextureMapping ¶
- ��������� ������������ 과���
~cpp Define the LoadBMPfile(char *filename) function declare GLuint tex[n] declare AUX_RGBImageRec *texRec[n] assign LoadBMPFile("filename.bmp") to each texRec[i] glGenTextures(count,&tex[0]) glBindTexture(GL_TEXTURE_2D,tex[i]) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexImage2D(GL_TEXTURE_2D,0,3,texRec[i]->sizeX ,texRec[i]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE,texRec[i]->data); if(texRec[i]) if(texRec[i]->data) free(texRec[i]->data); free(texRec[i]); glEnable(GL_TEXTURE_2D); glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE); Example of using the texturemapping glBindTexture(GL_TEXTURE_2D, tex[0]); DrawQuad(1,1,1,normal);
5. Thread ¶
- 그������ ������ ��������� ㅎ ������고 ���������
- ��������� ㅇ ������고 ���������
- ㅊ ������고 ��������� ������ ������ ������ ������.
- ㄹ ������고 ��������� ������ ��������� ���������.