Описание gra-команд версии 1

Эти команды предназначены для виртуальной gra-машины или виртуального графического процессора. На файле команды, а также целые и рациональные числа, занимают по 4 байта. Gra-машина имеет два отдельных адресных пространства: для целых (int) и рациональных (float) чисел, которые здесь представлены массивами соответственно intValue и floatValue.

Группа Clear

Дес. кодМнемо-кодПараметрыДействие
0CLEAR_COLORfloat r, float g, float b, float aglClearColor ( r, g, b, a );
1CLEAR_COLOR_BUFFERНетglClear ( GL_COLOR_BUFFER_BIT );
2CLEAR_DEPTH_BUFFERНетglClear ( GL_DEPTH_BUFFER_BIT );
3CLEAR_STENCIL_BUFFERНетglClear (GL_STENCIL_BUFFER_BIT);

Группа Enable

Дес. кодМнемо-кодПараметрыДействие
4ENABLE_BLENDНетglEnable(GL_BLEND);
5ENABLE_CULL_FACEНетglEnable(GL_CULL_FACE);
6ENABLE_DEPTH_TESTНетglEnable(GL_DEPTH_TEST);
7ENABLE_LIGHTint iglEnable(GL_LIGHT0 + i);
8ENABLE_LINE_LIGHTINGНетglEnable(GL_LIGHTING);
9ENABLE_LINE_STIPPLEНетglEnable(GL_LINE_STIPPLE);
10ENABLE_NORMALIZEНетglEnable(GL_NORMALIZE);
11ENABLE_POLYGON_STIPPLEНетglEnable(GL_POLYGON_STIPPLE);
12ENABLE_STENCIL_TESTНетglEnable(GL_STENCIL_TEST);
13ENABLE_TEXTURE_2DНетglEnable(GL_TEXTURE_2D);
14ENABLE_TEXTURE_GEN_SНетglEnable(GL_TEXTURE_GEN_S);
15ENABLE_TEXTURE_GEN_TНетglEnable(GL_TEXTURE_GEN_T);

Группа Disable

Дес. кодМнемо-кодПараметрыДействие
16DISABLE_BLENDНетglDisable(GL_BLEND);
17DISABLE_CULL_FACEНетglDisable(GL_CULL_FACE);
18DISABLE_DEPTH_TESTНетglDisable(GL_DEPTH_TEST);
19DISABLE_LIGHTint iglDisable(GL_LIGHT0 + i);
20DISABLE_LINE_LIGHTINGНетglDisable(GL_LIGHTING);
21DISABLE_LINE_STIPPLEНетglDisable(GL_LINE_STIPPLE);
22DISABLE_NORMALIZEНетglDisable(GL_NORMALIZE);
23DISABLE_POLYGON_STIPPLEНетglDisable(GL_POLYGON_STIPPLE);
24DISABLE_STENCIL_TESTНетglDisable(GL_STENCIL_TEST);
25DISABLE_TEXTURE_2DНетglDisable(GL_TEXTURE_2D);
26DISABLE_TEXTURE_GEN_SНетglDisable(GL_TEXTURE_GEN_S);
27DISABLE_TEXTURE_GEN_TНетglDisable(GL_TEXTURE_GEN_T);

Группа Blend и Deph

Дес. кодМнемо-кодПараметрыДействиеПримечание
28BLEND_FUNCint src, int dstglBlendFunc(blend[src], blend[dst]);См. ниже таблицу Blend
29DEPTH_FUNC_NEVERНетglDepthFunc(GL_NEVER);
30DEPTH_FUNC_LESSНетglDepthFunc(GL_LESS);
31DEPTH_FUNC_LEQUALНетglDepthFunc(GL_LEQUAL);
32DEPTH_FUNC_EQUALНетglDepthFunc(GL_EQUAL);
33DEPTH_FUNC_GREATERНетglDepthFunc(GL_GREATER);
34DEPTH_FUNC_NOTEQUALНетglDepthFunc(GL_NOTEQUAL);
35DEPTH_FUNC_GEQUALНетglDepthFunc(GL_GEQUAL);
36DEPTH_FUNC_ALWAYSНетglDepthFunc(GL_ALWAYS);

Группа Stencil

Дес. кодМнемо-кодПараметрыДействиеПримечание
37STENCIL_FUNC_NEVERint ref, int maskglStencilFunc(GL_NEVER, ref, mask);
38STENCIL_FUNC_LESSint ref, int maskglStencilFunc(GL_LESS, ref, mask);
39STENCIL_FUNC_LEQUALint ref, int maskglStencilFunc(GL_LEQUAL, ref, mask);
40STENCIL_FUNC_EQUALint ref, int maskglStencilFunc(GL_EQUAL, ref, mask);
41STENCIL_FUNC_GREATERint ref, int maskglStencilFunc(GL_GREATER, ref, mask);
42STENCIL_FUNC_NOTEQUALint ref, int maskglStencilFunc(GL_NOTEQUAL, ref, mask);
43STENCIL_FUNC_GEQUALint ref, int maskglStencilFunc(GL_GEQUAL, ref, mask);
44STENCIL_FUNC_ALWAYSint ref, int maskglStencilFunc(GL_ALWAYS, ref, mask);
45STENCIL_OPint fail, int zfail, int zpassglStencilOp(stencil[fail], stencil[zfail], stencil[zpass]);См. ниже таблицу Stencil

Группа Begin, End

Дес. кодМнемо-кодПараметрыДействие
46BEGIN_POINTSНетglBegin(GL_POINTS);
47BEGIN_LINESНетglBegin(GL_LINES);
48BEGIN_LINE_STRIPНетglBegin(GL_LINE_STRIP);
49BEGIN_LINE_LOOPНетglBegin(GL_LINE_LOOP);
50BEGIN_TRIANGLESНетglBegin(GL_TRIANGLES);
51BEGIN_TRIANGLE_STRIPНетglBegin(GL_TRIANGLE_STRIP);
52BEGIN_TRIANGLE_FANНетglBegin(GL_TRIANGLE_FAN);
53BEGIN_QUADSНетglBegin(GL_QUADS);
54BEGIN_QUAD_STRIPНетglBegin(GL_QUAD_STRIP);
55BEGIN_POLYGONНетglBegin(GL_POLYGON);
56ENDНетglEnd();

Группа Cull face

Дес. кодМнемо-кодПараметрыДействие
57CULL_FACE_BACKНетglCullFace(GL_BACK);
58CULL_FACE_FRONTНетglCullFace(GL_FRONT);
59CULL_FACE_FRONT_AND_BACKНетglCullFace(GL_FRONT_AND_BACK);

Группа Light

Дес. кодМнемо-кодПараметрыДействие
60LIGHT_AMBIENTint id, float data[4]glLightfv(GL_LIGHT0 + id, GL_AMBIENT, data);
61LIGHT_AMBIENT_4Vint id, int indexglLightfv(GL_LIGHT0 + id, GL_AMBIENT, floatValue + index);
62LIGHT_DIFFUSEint id, float data[4]glLightfv(GL_LIGHT0 + id, GL_DIFFUSE, data);
63LIGHT_DIFFUSE_4Vint id, int indexglLightfv(GL_LIGHT0 + id, GL_DIFFUSE, floatValue + index);
64LIGHT_SPECULARint id, float data[4]glLightfv(GL_LIGHT0 + id, GL_SPECULAR, data);
65LIGHT_SPECULAR_4Vint id, int indexglLightfv(GL_LIGHT0 + id, GL_SPECULAR, floatValue + index);
66LIGHT_POSITIONint id, float data[4]glLightfv(GL_LIGHT0 + id, GL_POSITION, data);
67LIGHT_POSITION_4Vint id, int indexglLightfv(GL_LIGHT0 + id, GL_POSITION, floatValue + index);

Группа Stipple

Дес. кодМнемо-кодПараметрыДействиеПримечание
68LINE_STIPPLEint factor, int patternglLineStipple(factor, pattern);
69POLYGON_STIPPLE_ARRunsigned char mask[128]glPolygonStipple(mask);
70POLYGON_STIPPLE_PTRunsigned char * maskglPolygonStipple(mask);Эта команда не для файла

Группа Material

Дес. кодМнемо-кодПараметрыДействие
71MATERIAL_BACK_AMBIENTfloat data[4]glMaterialfv(GL_BACK, GL_AMBIENT, data);
72MATERIAL_BACK_DIFFUSEfloat data[4]glMaterialfv(GL_BACK, GL_DIFFUSE, data);
73MATERIAL_BACK_EMISSIONfloat data[4]glMaterialfv(GL_BACK, GL_EMISSION, data);
74MATERIAL_BACK_SPECULARfloat data[4]glMaterialfv(GL_BACK, GL_SPECULAR, data);
75MATERIAL_BACK_SHININESSfloat sglMaterialf(GL_BACK, GL_SHININESS, s);
76MATERIAL_FRONT_AMBIENTfloat data[4]glMaterialfv(GL_FRONT, GL_AMBIENT, data);
77MATERIAL_FRONT_DIFFUSEfloat data[4]glMaterialfv(GL_FRONT, GL_DIFFUSE, data);
78MATERIAL_FRONT_EMISSIONfloat data[4]glMaterialfv(GL_FRONT, GL_EMISSION, data);
79MATERIAL_FRONT_SPECULARfloat data[4]glMaterialfv(GL_FRONT, GL_SPECULAR, data);
80MATERIAL_FRONT_SHININESSfloat sglMaterialf(GL_FRONT, GL_SHININESS, s);

Группа Polygon mode

Дес. кодМнемо-кодПараметрыДействиеПримечание
81POLYGON_MODEint iface, int imodeglPolygonMode(face[iface], mode[imode]); Таблицы Face и PolygonMode смотрите ниже

Группа Color

Дес. кодМнемо-кодПараметрыДействие
82COLOR3float r, float g, float bglColor3f(r, g, b);
83COLOR4float r, float g, float b, float aglColor4f(r, g, b, a);
84COLOR_3Vint iglColor3f(floatValue[i], floatValue[i+1], floatValue[i+2]);
85COLOR_4Vint iglColor4f(floatValue[i], floatValue[i+1], floatValue[i+2], floatValue[i+3]);

Группа Normal

Дес. кодМнемо-кодПараметрыДействие
86NORMAL3float x, float y, float zglNormal3f(x, y, z);
87NORMAL_3Vint iglNormal3f(floatValue[i], floatValue[i+1], floatValue[i+2]);

Группа Vertex

Дес. кодМнемо-кодПараметрыДействие
88VERTEX2float x, float yglVertex2f(x, y);
89VERTEX3float x, float y, float zglVertex3f(x, y, z);
90VERTEX_2Vint iglVertex2f(floatValue[i], floatValue[i+1]);
91VERTEX_3Vint iglVertex3f(floatValue[i], floatValue[i+1], floatValue[i+2]);

Группа Display list

Дес. кодМнемо-кодПараметрыДействие
92CALL_LISTint listglCallList(list);
93CALL_LIST_INDEXint indexglCallList(intValue[index]);
94END_LISTНетglEndList();
95NEW_LIST_COMPILEint listglNewList(list, GL_COMPILE);
96NEW_LIST_COMPILE_AND_EXECUTEint listglNewList(list, GL_COMPILE_AND_EXECUTE);

Группа Matrix

Дес. кодМнемо-кодПараметрыДействие
97LOAD_IDENTITYНетglLoadIdentity();
98LOOK_ATint igluLookAt ( floatValue[i], floatValue[i+1], floatValue[i+2], floatValue[i+3], floatValue[i+4], floatValue[i+5], floatValue[i+6], floatValue[i+7], floatValue[i+8] );
99MATRIX_MODE_MODEL_VIEWНетglMatrixMode(GL_MODELVIEW);
10MATRIX_MODE_PROJECTIONНетglMatrixMode(GL_PROJECTION);
101MATRIX_MODE_TEXTUREНетglMatrixMode(GL_TEXTURE);
102MULT_MATRIXint iglMultMatrixf(floatValue+i);
103PERSPECTIVEfloat fovy, float aspect, float zNear, float zFar gluPerspective(fovy, aspect, zNear, zFar);
104PERSPECTIVE_4Vint i gluPerspective(floatValue[i], floatValue[i+1], floatValue[i+2], floatValue[i+3]);
105POP_MATRIXНетglPopMatrix();
106PUSH_MATRIXНетglPushMatrix();
107ROTATEfloat angle, float x, float y, float zglRotatef(angle, x, y, z);
108ROTATE_4Vint iglRotatef(floatValue[i], floatValue[i+1], floatValue[i+2], floatValue[i+3]);
109SCALEfloat x, float y, float zglScalef(x, y, z);
110SCALE_3Vint iglScalef(floatValue[i], floatValue[i+1], floatValue[i+2]);
111TRANSLATEfloat x, float y, float zglTranslatef(x, y, z);
112TRANSLATE_3Vint iglTranslatef(floatValue[i], floatValue[i+1], floatValue[i+2]);

Группа Texture

Дес. кодМнемо-кодПараметрыДействие
113BIND_TEXTURE_2Dint iglBindTexture(GL_TEXTURE_2D, intValue[i]);
114BUILD_2D_MIPMAPS_BGR_ARRint width, int height, unsigned char pData[] gluBuild2DMipmaps(GL_TEXTURE_2D, 3, width, height, GL_BGR_EXT, GL_UNSIGNED_BYTE, pData);
115BUILD_2D_MIPMAPS_BGR_PTRint width, int height, unsigned char * pData gluBuild2DMipmaps(GL_TEXTURE_2D, 3, width, height, GL_BGR_EXT, GL_UNSIGNED_BYTE, pData);
116GEN_TEXTURESint n, int iglGenTextures(n, intValue + i);
117TEX_COORD2float s, float tglGenTextures(s, t);
118TEX_PAR_2D_MIN_FILTER_MIPMAP_NEARSTНет glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
119TEX_PAR_2D_WRAP_S_REPEATНетglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
120TEX_PAR_2D_WRAP_T_REPEATНетglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

Группа Get

Дес. кодМнемо-кодПараметрыДействие
121GET_FLOAT_VIEWPORTint iglGetFloatv(GL_VIEWPORT, floatValue + i);
122GET_INT_VIEWPORTint iglGetIntegerv(GL_VIEWPORT, intValue + i);

Группа Quadric objects

Дес. кодМнемо-кодПараметрыДействие
123QUADRIC_TEXTUREint igluQuadricTexture(quadObj, i);
124SPHEREfloat radius, int slices, int stacksgluSphere(quadObj, radius, slices, stacks);

Группа Integer

Дес. кодМнемо-кодПараметрыДействие
125INT_AST_DCint i1, int i2intValue[i1] = i2;
126INT_AST_DDint i1, int i2intValue[i1] = intValue[i2];
127INT_ADD_DCint i1, int i2intValue[i1] += i2;
128INT_ADD_DDint i1, int i2intValue[i1] += intValue[i2];
129INT_SUB_DCint i1, int i2intValue[i1] -= i2;
130INT_SUB_DDint i1, int i2intValue[i1] -= intValue[i2];
131INT_MUL_DCint i1, int i2intValue[i1] *= i2;
132INT_MUL_DDint i1, int i2intValue[i1] *= intValue[i2];
133INT_DIV_DCint i1, int i2intValue[i1] /= i2;
134INT_DIV_DDint i1, int i2intValue[i1] /= intValue[i2];
135INT_MOD_DCint i1, int i2intValue[i1] %= i2;
136INT_MOD_DDint i1, int i2intValue[i1] %= intValue[i2];

Группа Float

Дес. кодМнемо-кодПараметрыДействие
137FLOAT_AST_DCint i, float ffloatValue[i] = f;
138FLOAT_AST_DDint i1, int i2floatValue[i1] = floatValue[i2];
139FLOAT_AST_DIint i1, int i2floatValue[i1] = floatValue[intValue[i2]];
140FLOAT_AST_ICint i, float ffloatValue[intValue[i]] = f;
141FLOAT_AST_IDint i1, int i2floatValue[intValue[i1]] = floatValue[i2];
142FLOAT_AST_IIint i1, int i2floatValue[intValue[i1]] = floatValue[intValue[i2]];
143FLOAT_ADD_DCint i, float ffloatValue[i] += f;
144FLOAT_ADD_DDint i1, int i2floatValue[i1] += floatValue[i2];
145FLOAT_ADD_DIint i1, int i2floatValue[i1] += floatValue[intValue[i2]];
146FLOAT_ADD_ICint i, float ffloatValue[intValue[i]] += f;
147FLOAT_ADD_IDint i1, int i2floatValue[intValue[i1]] += floatValue[i2];
148FLOAT_ADD_IIint i1, int i2floatValue[intValue[i1]] += floatValue[intValue[i2]];
149FLOAT_SUB_DCint i, float ffloatValue[i] -= f;
150FLOAT_SUB_DDint i1, int i2floatValue[i1] -= floatValue[i2];
151FLOAT_SUB_DIint i1, int i2floatValue[i1] -= floatValue[intValue[i2]];
152FLOAT_SUB_ICint i, float ffloatValue[intValue[i]] -= f;
153FLOAT_SUB_IDint i1, int i2floatValue[intValue[i1]] -= floatValue[i2];
154FLOAT_SUB_IIint i1, int i2floatValue[intValue[i1]] -= floatValue[intValue[i2]];
155FLOAT_MUL_DCint i, float ffloatValue[i] *= f;
156FLOAT_MUL_DDint i1, int i2floatValue[i1] *= floatValue[i2];
157FLOAT_MUL_DIint i1, int i2floatValue[i1] *= floatValue[intValue[i2]];
158FLOAT_MUL_ICint i, float ffloatValue[intValue[i]] *= f;
159FLOAT_MUL_IDint i1, int i2floatValue[intValue[i1]] *= floatValue[i2];
160FLOAT_MUL_IIint i1, int i2floatValue[intValue[i1]] *= floatValue[intValue[i2]];
161FLOAT_DIV_DCint i, float ffloatValue[i] /= f;
162FLOAT_DIV_DDint i1, int i2floatValue[i1] /= floatValue[i2];
163FLOAT_DIV_DIint i1, int i2floatValue[i1] /= floatValue[intValue[i2]];
164FLOAT_DIV_ICint i, float ffloatValue[intValue[i]] /= f;
165FLOAT_DIV_IDint i1, int i2floatValue[intValue[i1]] /= floatValue[i2];
166FLOAT_DIV_IIint i1, int i2floatValue[intValue[i1]] /= floatValue[intValue[i2]];

Группа Mix commands

Дес. кодМнемо-кодПараметрыДействие
167INT_AST_FROM_FLOATint i1, int i2intValue[i1] = int(floatValue[i2]);
168FLOAT_AST_FROM_INTint i1, int i2floatValue[i1] = float(intValue[i2]);

Группа Conditional commands

Дес. кодМнемо-кодПараметрыДействиеПримечание
169IF_INT_DCint i1, int rel, int i2if ( intValue[i1] rel i2 )rel означает ==, !=, <, <=, >, >=
170IF_INT_DDint i1, int rel, int i2if ( intValue[i1] rel intValue[i2] )
171IF_FLOAT_DCint i, int rel, float fif ( floatValue[i] rel f )
172IF_FLOAT_DDint i1, int rel, int i2if ( floatValue[i1] rel floatValue[i2] )
173ELSEНетelse
174END_IFНетendif

Группа Loop

Дес. кодМнемо-кодПараметрыДействиеПримечание
175DOНетdo
176WHILE_INT_DCint i1, int rel, int i2while ( intValue[i1] rel i2 )rel означает ==, !=, <, <=, >, >=
177WHILE_INT_DCint i1, int rel, int i2while ( intValue[i1] rel intValue[i2] )

Группа Mathematics

Дес. кодМнемо-кодПараметрыДействие
178FLOAT_ABSint ifloatValue[i] = fabsf(floatValue[i]);
179FLOAT_ATAN2int i1, int i2floatValue[i1] = atan2f(floatValue[i1], floatValue[i2]);
180FLOAT_COSint ifloatValue[i] = cosf(floatValue[i]);
181FLOAT_SINint ifloatValue[i] = sinf(floatValue[i]);
182FLOAT_SQRTint ifloatValue[i] = sqrtf(floatValue[i]);

Группа Start position

Дес. кодМнемо-кодПараметрыДействиеПримечание
183NEXT_STARTconst Node * nodeВ следующий раз начинать отсюдаДля файла параметр равен нулю
184NEXT_START_AND_RETURNconst Node * nodeВ следующий раз начинать отсюда, а сейчас закончитьДля файла параметр равен нулю
185NEXT_START_FIRSTНетВ следующий раз начинать с начала

Группа Time

Дес. кодМнемо-кодПараметрыДействиеПримечание
186CLOCKint iintValue[i] = clock();
187SET_TIMERint iSetTimer(i);Запустить таймер окна

Код 188 используется для внутренних нужд.

Далее идут таблицы соответствия числовых кодов и констант OpenGL.

Таблица Blend

0GL_ZERO
1GL_ONE
2GL_COLOR
3GL_ONE_MINUS_DST_COLOR
4GL_SRC_ALPHA
5GL_MINUS_SRC_ALPHA
6GL_DST_ALPHA
7GL_ONE_MINUS_DST_ALPHA
8GL_SRC_ALPHA_SATURATE

Таблица Stencil

0GL_KEEP
1GL_ZERO
2GL_REPLACE
3GL_INCR
4GL_DECR
5GL_INVERT

Таблица Face

1GL_FRONT
2GL_BACK
3GL_FRONT_AND_BACK

Таблица PolygonMode

0GL_POINT
1GL_LINE
2GL_FILL

Вернуться

Hosted by uCoz