<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EC%83%81%ED%98%91%2F3DLibrary</id>
	<title>상협/3DLibrary - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EC%83%81%ED%98%91%2F3DLibrary"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%81%ED%98%91/3DLibrary&amp;action=history"/>
	<updated>2026-05-14T18:15:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%83%81%ED%98%91/3DLibrary&amp;diff=52363&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:29, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%83%81%ED%98%91/3DLibrary&amp;diff=52363&amp;oldid=prev"/>
		<updated>2021-02-07T05:29:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 3D Library =&lt;br /&gt;
== Matrix ==&lt;br /&gt;
=== Matrix.h ===&lt;br /&gt;
 //Matrix.h&lt;br /&gt;
 #ifndef _MATRIX_H_&lt;br /&gt;
 #define _MATRIX_H_&lt;br /&gt;
 const float pi = float(3.141592653589793);&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 float AngleToPi(float angle)&lt;br /&gt;
 {&lt;br /&gt;
 	return pi/(180/angle);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 class Vector&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	float x,y,z;&lt;br /&gt;
 	float mag;&lt;br /&gt;
 	void set_mag();&lt;br /&gt;
 public:&lt;br /&gt;
 	Vector();&lt;br /&gt;
 	Vector(float n1,float n2, float n3);&lt;br /&gt;
 	void set(float n1, float n2,float n3);&lt;br /&gt;
 	~Vector();&lt;br /&gt;
 	float Getx() {return x;}&lt;br /&gt;
 	float Gety() {return y;}&lt;br /&gt;
 	float Getz() {return z;}&lt;br /&gt;
 	float magval() const {return mag;}&lt;br /&gt;
 &lt;br /&gt;
 //	void Translate(const Matrix m);&lt;br /&gt;
 &lt;br /&gt;
 	//연산자 재정의 &lt;br /&gt;
 	Vector operator+(const Vector &amp;amp;amp;b) const;&lt;br /&gt;
 	Vector operator-(const Vector &amp;amp;amp;b) const;&lt;br /&gt;
 	Vector operator*(float n) const;&lt;br /&gt;
 	Vector operator-() const;&lt;br /&gt;
 &lt;br /&gt;
 	float operator*(const Vector &amp;amp;amp;b) const;&lt;br /&gt;
 	Vector operator^(const Vector &amp;amp;amp;b) const;&lt;br /&gt;
 	&lt;br /&gt;
 	void Clear();&lt;br /&gt;
 	void Normalize();&lt;br /&gt;
 &lt;br /&gt;
 		//프렌드&lt;br /&gt;
 	friend Vector operator *(float n,const Vector &amp;amp;amp;a);&lt;br /&gt;
  &lt;br /&gt;
 //	friend ostream&amp;amp;amp; operator &amp;amp;lt;&amp;amp;lt; (ostream&amp;amp;amp; os, const Vector&amp;amp;amp; v); &lt;br /&gt;
 //	friend ostream&amp;amp;amp; operator &amp;amp;lt;&amp;amp;lt; (ostream &amp;amp;amp;os,const Vector &amp;amp;amp;v);&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 class Matrix {&lt;br /&gt;
 private:&lt;br /&gt;
 //	int matrix[4][4];&lt;br /&gt;
 	bool m_vector;&lt;br /&gt;
 public:&lt;br /&gt;
 	float matrix[4][4];&lt;br /&gt;
 	Matrix();&lt;br /&gt;
 	Matrix(float in[4][4]);&lt;br /&gt;
 	Matrix(float in[4]);&lt;br /&gt;
 //	Matrix(int in1[4][4], int in2[4][4]);&lt;br /&gt;
 	void SetMatrix(float in[4][4]);&lt;br /&gt;
 	void SetVector(float in[4]);&lt;br /&gt;
 //	void GetMatrix(int *out[4]);&lt;br /&gt;
 	void PrintMatrix();&lt;br /&gt;
 	void Rotation(float theta, char xyz);&lt;br /&gt;
 	//연산자 재정의&lt;br /&gt;
 	&lt;br /&gt;
 	Matrix operator+(const Matrix &amp;amp;amp;b) const ;&lt;br /&gt;
 	Matrix operator-(const Matrix &amp;amp;amp;b) const;&lt;br /&gt;
 	Matrix operator-() const;&lt;br /&gt;
 	Matrix operator*(float n) const;&lt;br /&gt;
 	Matrix operator*(const Matrix &amp;amp;amp;b) const;&lt;br /&gt;
 &lt;br /&gt;
 	Vector operator*(const Vector &amp;amp;amp;v) const;&lt;br /&gt;
 	&lt;br /&gt;
 //	void Translate(const Vector &amp;amp;amp;v);&lt;br /&gt;
 	void Rotation(const Vector &amp;amp;amp;v);&lt;br /&gt;
 	int Inverse();&lt;br /&gt;
 	void ToIdenty();&lt;br /&gt;
 &lt;br /&gt;
 	friend Matrix operator*(float n,const Matrix &amp;amp;amp;a);&lt;br /&gt;
 //	friend ostream&amp;amp;amp; operator&amp;amp;lt;&amp;amp;lt;(ostream &amp;amp;amp;os, const Matrix &amp;amp;amp;m);&lt;br /&gt;
 &lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 #endif&lt;br /&gt;
=== Matrix.cpp ===&lt;br /&gt;
 //Matrix.cpp&lt;br /&gt;
 #include &amp;quot;Matrix.h&amp;quot;&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 #include &amp;amp;lt;cmath&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 Matrix::Matrix()&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 			matrix[j][i]=0;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Matrix::Matrix(float in[4][4])&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 			matrix[j][i] = in[j][i];&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Matrix::Matrix(float in[4])&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			matrix[i][j] = 0;&lt;br /&gt;
 			matrix[0][j] = in[j];&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 void Matrix::SetMatrix(float in[4][4])&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 			matrix[j][i] = in[j][i];&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 void Matrix::PrintMatrix()&lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 			cout&amp;amp;lt;&amp;amp;lt;matrix[i][j]&amp;amp;lt;&amp;amp;lt;&amp;quot;  &amp;quot;;&lt;br /&gt;
 		cout&amp;amp;lt;&amp;amp;lt;&amp;quot;\n&amp;quot;;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void Matrix::Rotation(float theta, char xyz)&lt;br /&gt;
 {&lt;br /&gt;
 	 float cosTheta = cos(AngleToPi(theta));&lt;br /&gt;
 	 float sinTheta = sin(AngleToPi(theta));&lt;br /&gt;
      Matrix rotationX,rotationY,rotationZ;&lt;br /&gt;
 	 rotationX.matrix[0][0] = 1;&lt;br /&gt;
 	 rotationY.matrix[0][0] = rotationZ.matrix[0][0]=cosTheta;&lt;br /&gt;
 	 rotationY.matrix[1][1] = 1;&lt;br /&gt;
 	 rotationX.matrix[1][1] = rotationZ.matrix[1][1]=cosTheta;&lt;br /&gt;
 	 rotationX.matrix[1][2] = rotationY.matrix[2][0]&lt;br /&gt;
 		 =rotationZ.matrix[0][1]=sinTheta;&lt;br /&gt;
 	 rotationX.matrix[2][1] = rotationY.matrix[0][2]&lt;br /&gt;
 		 =rotationZ.matrix[1][0]=-sinTheta;&lt;br /&gt;
 	 rotationZ.matrix[2][2] = 1;&lt;br /&gt;
 	 rotationX.matrix[2][2] = rotationY.matrix[2][2]=cosTheta;&lt;br /&gt;
 	 rotationX.matrix[3][3]=rotationY.matrix[3][3]&lt;br /&gt;
 		 =rotationZ.matrix[3][3]=1;&lt;br /&gt;
 	 switch(xyz)&lt;br /&gt;
 	 {&lt;br /&gt;
 	 case &amp;#039;X&amp;#039;:&lt;br /&gt;
 	 case &amp;#039;x&amp;#039;:&lt;br /&gt;
 		 *this = rotationX * *this;&lt;br /&gt;
 		 break;&lt;br /&gt;
 	 case &amp;#039;Y&amp;#039;:&lt;br /&gt;
 	 case &amp;#039;y&amp;#039;:&lt;br /&gt;
 		 *this = rotationY * *this;&lt;br /&gt;
 		 break;&lt;br /&gt;
 	 case &amp;#039;Z&amp;#039;:&lt;br /&gt;
 	 case &amp;#039;z&amp;#039;:&lt;br /&gt;
 		 *this = rotationZ * *this;&lt;br /&gt;
 		 break;&lt;br /&gt;
 	 }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 Matrix Matrix::operator +(const Matrix &amp;amp;amp;b) const&lt;br /&gt;
 {&lt;br /&gt;
 	float sumOfMatrix[4][4];&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 			sumOfMatrix[j][i] =b.matrix[j][i]+matrix[j][i];&lt;br /&gt;
 &lt;br /&gt;
 	}&lt;br /&gt;
 	return Matrix(sumOfMatrix);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Matrix Matrix::operator *(float n) const&lt;br /&gt;
 {&lt;br /&gt;
 	float MultipleOfMatrix[4][4];&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 			MultipleOfMatrix[j][i] =matrix[j][i]*n;&lt;br /&gt;
 	}	&lt;br /&gt;
 	return Matrix(MultipleOfMatrix);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Matrix Matrix::operator -(const Matrix &amp;amp;amp;b) const&lt;br /&gt;
 {&lt;br /&gt;
 	float SubtractOfMatrix[4][4];&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 			SubtractOfMatrix[j][i] =b.matrix[j][i]-matrix[j][i];&lt;br /&gt;
 	}&lt;br /&gt;
 	return Matrix(SubtractOfMatrix);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Matrix Matrix::operator *(const Matrix &amp;amp;amp;b) const&lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
 	float MultipleOfMatrix[4][4];&lt;br /&gt;
 	for (int t=0;t&amp;amp;lt;4;t++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int a=0;a&amp;amp;lt;4;a++)&lt;br /&gt;
 			MultipleOfMatrix[t][a] = 0;&lt;br /&gt;
 	}&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			for(int k=0;k&amp;amp;lt;4;k++)&lt;br /&gt;
 			{&lt;br /&gt;
 				MultipleOfMatrix[i][j]+=matrix[i][k]*b.matrix[k][j];&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	return Matrix(MultipleOfMatrix);&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Matrix Matrix::operator -() const&lt;br /&gt;
 {&lt;br /&gt;
 	float SubtractOfMatrix[4][4];&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 			SubtractOfMatrix[j][i] = -matrix[j][i];&lt;br /&gt;
 	}&lt;br /&gt;
 	return Matrix(SubtractOfMatrix);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Vector Matrix::operator *(const Vector &amp;amp;amp;v) const&lt;br /&gt;
 {&lt;br /&gt;
 	Vector b = v;&lt;br /&gt;
 	float reVector[4];&lt;br /&gt;
 	float bVector[4];&lt;br /&gt;
 	bVector[0]=b.Getx();&lt;br /&gt;
 	bVector[1]=b.Gety();&lt;br /&gt;
 	bVector[2]=b.Getz();&lt;br /&gt;
 	bVector[3]=1;&lt;br /&gt;
 	reVector[0]=reVector[1]=reVector[2]=reVector[3]=0;&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;4;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;4;j++)&lt;br /&gt;
 			reVector[i]+=matrix[j][i]*bVector[j];&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return Vector(reVector[0],reVector[1],reVector[2]);&lt;br /&gt;
 }&lt;br /&gt;
 /*&lt;br /&gt;
 void Matrix::Translate(const Vector &amp;amp;amp;v)&lt;br /&gt;
 {&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 void Matrix::Rotation(const Vector &amp;amp;amp;v)&lt;br /&gt;
 {&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 Matrix operator*(float n,const Matrix &amp;amp;amp;a)&lt;br /&gt;
 {&lt;br /&gt;
 	return a*n;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 ///////Vector define///////////&lt;br /&gt;
 //vector1.cpp&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;cmath&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 #include &amp;quot;Matrix.h&amp;quot;&lt;br /&gt;
 const float Rad_to_deg=float(57.2957795130823);&lt;br /&gt;
 //개별 메서드&lt;br /&gt;
 void Vector::set_mag()&lt;br /&gt;
 {&lt;br /&gt;
 	mag=sqrt(x*x+y*y+z*z);&lt;br /&gt;
 }&lt;br /&gt;
 //공용 메서드&lt;br /&gt;
 Vector::Vector()&lt;br /&gt;
 {&lt;br /&gt;
 	x=y=z=mag=0;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 Vector::Vector(float n1, float n2, float n3)&lt;br /&gt;
 {&lt;br /&gt;
 	set(n1,n2,n3);&lt;br /&gt;
 }&lt;br /&gt;
 void Vector::set(float n1,float n2,float n3)&lt;br /&gt;
 {&lt;br /&gt;
 	x=n1;&lt;br /&gt;
 	y=n2;&lt;br /&gt;
 	z=n3;&lt;br /&gt;
 	set_mag();&lt;br /&gt;
 }&lt;br /&gt;
 Vector::~Vector()&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 /*&lt;br /&gt;
 void Vector::Translate(const Matrix m)&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 Vector Vector::operator +(const Vector &amp;amp;amp;b) const&lt;br /&gt;
 {&lt;br /&gt;
 	return Vector(x+b.x,y+b.y,z+b.z);&lt;br /&gt;
 }&lt;br /&gt;
 Vector Vector::operator -(const Vector &amp;amp;amp;b) const&lt;br /&gt;
 {&lt;br /&gt;
 	return Vector(x-b.x,y-b.y, z-b.z);&lt;br /&gt;
 }&lt;br /&gt;
 Vector Vector::operator -() const&lt;br /&gt;
 {&lt;br /&gt;
 	return Vector(-x,-y,-z);&lt;br /&gt;
 }&lt;br /&gt;
 Vector Vector::operator *(float n) const&lt;br /&gt;
 {&lt;br /&gt;
 	return Vector(n*x,n*y, n*z);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 float Vector::operator*(const Vector &amp;amp;amp;b) const&lt;br /&gt;
 {&lt;br /&gt;
 	return float(x*b.x+y*b.y+z*b.z);&lt;br /&gt;
 }&lt;br /&gt;
 Vector Vector::operator^(const Vector &amp;amp;amp;b) const&lt;br /&gt;
 {&lt;br /&gt;
 	return Vector(y*b.z-z*b.y,z*b.x-x*b.z,x*b.y-y*b.x);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void Vector::Clear()&lt;br /&gt;
 {&lt;br /&gt;
 	Vector();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void Vector::Normalize()&lt;br /&gt;
 {&lt;br /&gt;
 	Vector(x/mag,y/mag,z/mag);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 //프렌드 메서드&lt;br /&gt;
 Vector operator *(float n,const Vector &amp;amp;amp;a)&lt;br /&gt;
 {&lt;br /&gt;
 	return a*n;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /// 사용하는예는 아래에 나왔음.&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	float test1[4][4] = &lt;br /&gt;
 	{{1,2,3,4}&lt;br /&gt;
 	,{1,2,3,4}&lt;br /&gt;
 	,{1,2,3,4}&lt;br /&gt;
 	,{1,2,3,4}};&lt;br /&gt;
 	float test2[4] = {1,2,3,4};&lt;br /&gt;
 	Matrix te2(test1),tesum;&lt;br /&gt;
 	te2.Rotation(24,&amp;#039;z&amp;#039;);&lt;br /&gt;
 	cout&amp;amp;lt;&amp;amp;lt;&amp;quot;te2\n&amp;quot;;&lt;br /&gt;
 	te2.PrintMatrix();&lt;br /&gt;
 &lt;br /&gt;
 	Vector ex;&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== DrawQuad1 ==&lt;br /&gt;
* 그림을 사각형에 씌울때 사용. 점과 법선 백터만 주면 알아서 사각형을 하나 만들어 준다.  이 함수 처음 만들때 실수때문에 삽질 많이 함.. ㅠㅜ&lt;br /&gt;
* void DrawQuad(float inx,float iny,float inz, Matrix normal) : inx,iny,inz는 각 성분의 크기, normal은 법선 벡터&lt;br /&gt;
* 사용예&lt;br /&gt;
 	glBindTexture(GL_TEXTURE_2D, tex[0]);&lt;br /&gt;
 	normal.matrix[0][2] = -1;&lt;br /&gt;
 	DrawQuad(1,1,1,normal);&lt;br /&gt;
* 실제 코드&lt;br /&gt;
 void DrawQuad(float inx,float iny,float inz, Matrix normal)&lt;br /&gt;
 {&lt;br /&gt;
 	float x,y,z;&lt;br /&gt;
 	char select;&lt;br /&gt;
 	if(normal.matrix[0][0]!=0)&lt;br /&gt;
 		select=&amp;#039;x&amp;#039;;&lt;br /&gt;
 	else if(normal.matrix[0][1]!=0)&lt;br /&gt;
 		select=&amp;#039;y&amp;#039;;&lt;br /&gt;
 	else if(normal.matrix[0][2]!=0)&lt;br /&gt;
 		select=&amp;#039;z&amp;#039;;&lt;br /&gt;
 	switch(select)&lt;br /&gt;
 	{&lt;br /&gt;
 	case &amp;#039;x&amp;#039;:&lt;br /&gt;
 		{&lt;br /&gt;
 			x = normal.matrix[0][0];&lt;br /&gt;
 			y=1;&lt;br /&gt;
 			if(x&amp;amp;gt;0)&lt;br /&gt;
 				z=1;&lt;br /&gt;
 			else&lt;br /&gt;
 				z=-1;&lt;br /&gt;
 			glBegin(GL_QUADS);&lt;br /&gt;
 				glNormal3f(normal.matrix[0][0],normal.matrix[0][1],normal.matrix[0][2]);&lt;br /&gt;
 				glTexCoord2f(0.0f,0.0f); glVertex3f(x*inx,y*iny,z*inz);&lt;br /&gt;
 				glTexCoord2f(0.0f,1.0f); glVertex3f(x*inx,-y*iny,z*inz);&lt;br /&gt;
 				glTexCoord2f(1.0f,1.0f); glVertex3f(x*inx,-y*iny,-z*inz);&lt;br /&gt;
 				glTexCoord2f(1.0f,0.0f); glVertex3f(x*inx,y*iny,-z*inz);&lt;br /&gt;
 			glEnd();&lt;br /&gt;
 		}&lt;br /&gt;
 		break;&lt;br /&gt;
 	case &amp;#039;y&amp;#039;:&lt;br /&gt;
 		{&lt;br /&gt;
 			y = normal.matrix[0][1];&lt;br /&gt;
 			x=-1;&lt;br /&gt;
 			if(y&amp;amp;gt;0)&lt;br /&gt;
 				z=-1;&lt;br /&gt;
 			else&lt;br /&gt;
 				z=1;&lt;br /&gt;
 			glBegin(GL_QUADS);&lt;br /&gt;
 				glNormal3f(normal.matrix[0][0],normal.matrix[0][1],normal.matrix[0][2]);&lt;br /&gt;
 				glTexCoord2f(0.0f,0.0f); glVertex3f(x*inx,y*iny,z*inz);&lt;br /&gt;
 				glTexCoord2f(0.0f,1.0f); glVertex3f(x*inx,y*iny,-z*inz);&lt;br /&gt;
 				glTexCoord2f(1.0f,1.0f); glVertex3f(-x*inx,y*iny,-z*inz);&lt;br /&gt;
 				glTexCoord2f(1.0f,0.0f); glVertex3f(-x*inx,y*iny,z*inz);&lt;br /&gt;
 			glEnd();&lt;br /&gt;
 &lt;br /&gt;
 		}&lt;br /&gt;
 		break;&lt;br /&gt;
 	case &amp;#039;z&amp;#039;:&lt;br /&gt;
 		{&lt;br /&gt;
 			z = normal.matrix[0][2];&lt;br /&gt;
 			x=1;&lt;br /&gt;
 			if(z&amp;amp;gt;0)&lt;br /&gt;
 				y=-1;&lt;br /&gt;
 			else&lt;br /&gt;
 				y=1;&lt;br /&gt;
 			glBegin(GL_QUADS);&lt;br /&gt;
 				glNormal3f(normal.matrix[0][0],normal.matrix[0][1],normal.matrix[0][2]);&lt;br /&gt;
 				glTexCoord2f(0.0f,0.0f); glVertex3f(x*inx,y*iny,z*inz);&lt;br /&gt;
 				glTexCoord2f(0.0f,1.0f); glVertex3f(x*inx,-y*iny,z*inz);&lt;br /&gt;
 				glTexCoord2f(1.0f,1.0f); glVertex3f(-x*inx,-y*iny,z*inz);&lt;br /&gt;
 				glTexCoord2f(1.0f,0.0f); glVertex3f(-x*inx,y*iny,z*inz);&lt;br /&gt;
 			glEnd();&lt;br /&gt;
 &lt;br /&gt;
 		}	&lt;br /&gt;
 		break;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>