Hiển thị các bài đăng có nhãn OPenGL. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn OPenGL. Hiển thị tất cả bài đăng

Thứ Sáu, 16 tháng 7, 2010

OpenGL

OPenGL - Sample drawing

Chú ý:
Định nghĩa 2 cấu trúc Vertex3D và Triangle3D (nên đn trong 1 file .h rồi import vào) :
* Created by VUONGTM on 7/16/10.
* Copyright 2010 EXARTISAN. All rights reserved.
*This is my definition
*/

/*
*Vertex3D
**/
typedef struct {
GLfloat x;
GLfloat y;
GLfloat z;
} Vertex3D;

/*
* Make vertex
**/
static inline Vertex3D Vertex3DMake(CGFloat inX, CGFloat inY, CGFloat inZ)
{
Vertex3D ret;
ret.x = inX;
ret.y = inY;
ret.z = inZ;
return ret;
}

/*
*Canculate distance between two vertex
**/
static inline GLfloat Vertex3DCalculateDistanceBetweenVertices (Vertex3D first, Vertex3D second)
{
GLfloat deltaX = second.x - first.x;
GLfloat deltaY = second.y - first.y;
GLfloat deltaZ = second.z - first.z;
return sqrtf(deltaX*deltaX + deltaY*deltaY + deltaZ*deltaZ );
};


/*
*Triangle3D
**/
typedef struct {
Vertex3D v1;
Vertex3D v2;
Vertex3D v3;
} Triangle3D;

static inline Triangle3D Triangle3DMake(Vertex3D v1, Vertex3D v2, Vertex3D v3)
{
Triangle3D trigalge3d;
trigalge3d.v1 = v1;
trigalge3d.v2 = v2;
trigalge3d.v3 = v3;
return trigalge3d;
}