Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5098 | clevermous | 1 | #include "zgl.h" |
2 | |||
3 | void glGetIntegerv(int pname,int *params) |
||
4 | { |
||
5 | GLContext *c=gl_get_context(); |
||
6 | |||
7 | switch(pname) { |
||
8 | case GL_VIEWPORT: |
||
9 | params[0]=c->viewport.xmin; |
||
10 | params[1]=c->viewport.ymin; |
||
11 | params[2]=c->viewport.xsize; |
||
12 | params[3]=c->viewport.ysize; |
||
13 | break; |
||
14 | case GL_MAX_MODELVIEW_STACK_DEPTH: |
||
15 | *params = MAX_MODELVIEW_STACK_DEPTH; |
||
16 | break; |
||
17 | case GL_MAX_PROJECTION_STACK_DEPTH: |
||
18 | *params = MAX_PROJECTION_STACK_DEPTH; |
||
19 | break; |
||
20 | case GL_MAX_LIGHTS: |
||
21 | *params = MAX_LIGHTS; |
||
22 | break; |
||
23 | case GL_MAX_TEXTURE_SIZE: |
||
24 | *params = 256; /* not completely true, but... */ |
||
25 | break; |
||
26 | case GL_MAX_TEXTURE_STACK_DEPTH: |
||
27 | *params = MAX_TEXTURE_STACK_DEPTH; |
||
28 | break; |
||
29 | default: |
||
30 | gl_fatal_error("glGet: option not implemented"); |
||
31 | break; |
||
32 | } |
||
33 | } |
||
34 | |||
35 | void glGetFloatv(int pname, float *v) |
||
36 | { |
||
37 | int i; |
||
38 | int mnr = 0; /* just a trick to return the correct matrix */ |
||
39 | GLContext *c = gl_get_context(); |
||
40 | switch (pname) { |
||
41 | case GL_TEXTURE_MATRIX: |
||
42 | mnr++; |
||
43 | case GL_PROJECTION_MATRIX: |
||
44 | mnr++; |
||
45 | case GL_MODELVIEW_MATRIX: |
||
46 | { |
||
47 | float *p = &c->matrix_stack_ptr[mnr]->m[0][0];; |
||
48 | for (i = 0; i < 4; i++) { |
||
49 | *v++ = p[0]; |
||
50 | *v++ = p[4]; |
||
51 | *v++ = p[8]; |
||
52 | *v++ = p[12]; |
||
53 | p++; |
||
54 | } |
||
55 | } |
||
56 | break; |
||
57 | case GL_LINE_WIDTH: |
||
58 | *v = 1.0f; |
||
59 | break; |
||
60 | case GL_LINE_WIDTH_RANGE: |
||
61 | v[0] = v[1] = 1.0f; |
||
62 | break; |
||
63 | case GL_POINT_SIZE: |
||
64 | *v = 1.0f; |
||
65 | break; |
||
66 | case GL_POINT_SIZE_RANGE: |
||
67 | v[0] = v[1] = 1.0f; |
||
68 | default: |
||
69 | fprintf(stderr,"warning: unknown pname in glGetFloatv()\n"); |
||
70 | break; |
||
71 | } |
||
72 | }> |