17 glGenVertexArrays(1, &s->
vao);
D;
22 glDeleteVertexArrays(1, &s->
vao);
D;
26 glBindVertexArray(s->
vao);
D;
27 glBindBuffer(GL_ARRAY_BUFFER, vbo);
D;
28 glEnableVertexAttribArray(s->
cne0);
D;
29 glEnableVertexAttribArray(s->
zdz0);
D;
30 glVertexAttribLPointer(s->
cne0, 4, GL_DOUBLE, (
DE ? 8 : 6) *
sizeof(GLdouble), 0);
D;
31 glVertexAttribLPointer(s->
zdz0,
DE ? 4 : 2, GL_DOUBLE, (
DE ? 8 : 6) *
sizeof(GLdouble), ((GLbyte *)0)+(4*
sizeof(GLdouble)));
D;
32 glBindBuffer(GL_ARRAY_BUFFER, 0);
D;
33 glBindVertexArray(0);
D;
38 glBindVertexArray(s->
vao);
D;
40 glEnable(GL_RASTERIZER_DISCARD);
D;
41 glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, vbo);
D;
42 glBeginQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN, query);
D;
43 glBeginTransformFeedback(GL_POINTS);
D;
44 glDrawArrays(GL_POINTS, 0, active_count);
D;
45 glEndTransformFeedback();
D;
46 glEndQuery(GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN);
D;
47 glGetQueryObjectuiv(query, GL_QUERY_RESULT, unescaped);
D;
48 glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, 0);
D;
49 glDisable(GL_RASTERIZER_DISCARD);
D;
51 glBindVertexArray(0);
D;