Оцените удобность написания кода
(Делаю свой 3D враппер
)
Пока начальная стадия разработки
( даже объекты ещё не сделал
, но полигоны уже есть ( в версии 1.005 ) ) :
Возможности версии 1.001
... ' Создание куба из точек
Local vertex : z3dw_glVertex3s [ 8 ]
Local pointsize : z3dw_glPointSize
Local color : z3dw_glColor3ub [ 8 ]
pointsize = z3dw_glPointSize . Create ( 5 )
color [ 0 ] = z3dw_glColor3ub . Create ( 255 , 255 , 255 )
vertex [ 0 ] = z3dw_glVertex3s . Create ( -1 , -1 , -1 )
color [ 1 ] = z3dw_glColor3ub . Create ( 255 , 0 , 0 )
vertex [ 1 ] = z3dw_glVertex3s . Create ( 1 , -1 , -1 )
color [ 2 ] = z3dw_glColor3ub . Create ( 255 , 127 , 0 )
vertex [ 2 ] = z3dw_glVertex3s . Create ( 1 , 1 , -1 )
color [ 3 ] = z3dw_glColor3ub . Create ( 255 , 255 , 0 )
vertex [ 3 ] = z3dw_glVertex3s . Create ( -1 , 1 , -1 )
color [ 4 ] = z3dw_glColor3ub . Create ( 0 , 255 , 0 )
vertex [ 4 ] = z3dw_glVertex3s . Create ( -1 , -1 , 1 )
color [ 5 ] = z3dw_glColor3ub . Create ( 127 , 127 , 255 )
vertex [ 5 ] = z3dw_glVertex3s . Create ( 1 , -1 , 1 )
color [ 6 ] = z3dw_glColor3ub . Create ( 0 , 0 , 255 )
vertex [ 6 ] = z3dw_glVertex3s . Create ( 1 , 1 , 1 )
color [ 7 ] = z3dw_glColor3ub . Create ( 255 , 0 , 255 )
vertex [ 7 ] = z3dw_glVertex3s . Create ( -1 , 1 , 1 )
... ' Его вырисовка в главном цикле
pointsize . Draw ( )
glBegin(GL_POINTS)
For n = 0 To 7
color [ n ] . Draw ( )
vertex [ n ] . Draw ( )
Next
glEnd()
Возможности версии 1.005
... ' создание куба из точек
Local polygon : z3dw_Polygon
polygon = z3dw_Polygon . Create ( GL_POINTS )
' Если заменить например на GL_QUADS будет отображаться 2 цветных квадрата
polygon.Add z3dw_Point1b . Create ( 0 )
polygon.Add z3dw_Color3ub . Create ( 255 , 255 , 255 )
polygon.Add z3dw_Vertex3s . Create ( -1 , -1 , -1 )
polygon.Add z3dw_Point1b . Create ( 1 )
polygon.Add z3dw_Color3ub . Create ( 255 , 0 , 0 )
polygon.Add z3dw_Vertex3s . Create ( 1 , -1 , -1 )
polygon.Add z3dw_Point1b . Create ( 2 )
polygon.Add z3dw_Color3ub . Create ( 255 , 127 , 0 )
polygon.Add z3dw_Vertex3s . Create ( 1 , 1 , -1 )
polygon.Add z3dw_Point1b . Create ( 3 )
polygon.Add z3dw_Color3ub . Create ( 255 , 255 , 0 )
polygon.Add z3dw_Vertex3s . Create ( -1 , 1 , -1 )
polygon.Add z3dw_Point1b . Create ( 4 )
polygon.Add z3dw_Color3ub . Create ( 0 , 255 , 0 )
polygon.Add z3dw_Vertex3s . Create ( -1 , -1 , 1 )
polygon.Add z3dw_Point1b . Create ( 5 )
polygon.Add z3dw_Color3ub . Create ( 127 , 127 , 255 )
polygon.Add z3dw_Vertex3s . Create ( 1 , -1 , 1 )
polygon.Add z3dw_Point1b . Create ( 6 )
polygon.Add z3dw_Color3ub . Create ( 0 , 0 , 255 )
polygon.Add z3dw_Vertex3s . Create ( 1 , 1 , 1 )
polygon.Add z3dw_Point1b . Create ( 7 )
polygon.Add z3dw_Color3ub . Create ( 255 , 0 , 255 )
polygon.Add z3dw_Vertex3s . Create ( -1 , 1 , 1 )
... ' Его вырисовка в главном цикле
glPointSize 5 ' Не успел доделать
polygon.Draw ( )
*Point - метка с помощью которой можно найти нужную точку
*Point - возможные форматы : 1b, 1s, 1i, 1l(long), 1f, 1d, 1str(string)
*1b, 3ub, 3s... — Понятно тем кто знает OpenGl