src/scene.c

changeset 126
77c13e14a65f
parent 121
ede9a9e92ff9
child 130
c3fce2a543ee
equal deleted inserted replaced
125:0a8747b02df8 126:77c13e14a65f
33 #include "ascension/2d.h" 33 #include "ascension/2d.h"
34 34
35 #include <cx/tree.h> 35 #include <cx/tree.h>
36 #include <cx/linked_list.h> 36 #include <cx/linked_list.h>
37 #include <cx/array_list.h> 37 #include <cx/array_list.h>
38 #include <cx/utils.h>
39 38
40 #include <GL/glew.h> 39 #include <GL/glew.h>
41 40
42 #include <assert.h> 41 #include <assert.h>
43 42
91 } 90 }
92 } 91 }
93 92
94 // create render groups 93 // create render groups
95 CxList *render_group[ASC_RENDER_GROUP_COUNT]; 94 CxList *render_group[ASC_RENDER_GROUP_COUNT];
96 cx_for_n(i, ASC_RENDER_GROUP_COUNT) { 95 for (unsigned i = 0 ; i < ASC_RENDER_GROUP_COUNT ; i++) {
97 render_group[i] = cxArrayListCreateSimple(CX_STORE_POINTERS, 32); 96 render_group[i] = cxArrayListCreateSimple(CX_STORE_POINTERS, 32);
98 } 97 }
99 98
100 // update the scene graph and add nodes to their render groups 99 // update the scene graph and add nodes to their render groups
101 CxTreeVisitor iter = cx_tree_visitor(scene->root, 100 CxTreeVisitor iter = cx_tree_visitor(scene->root,
200 asc_sprite_draw(node); 199 asc_sprite_draw(node);
201 } 200 }
202 } 201 }
203 202
204 // deallocate render groups 203 // deallocate render groups
205 cx_for_n(i, ASC_RENDER_GROUP_COUNT) { 204 for (unsigned i = 0 ; i < ASC_RENDER_GROUP_COUNT ; i++) {
206 cxListFree(render_group[i]); 205 cxListFree(render_group[i]);
207 } 206 }
208 } 207 }
209 208
210 void asc_scene_add_node(AscScene *scene, AscSceneNode *node) { 209 void asc_scene_add_node(AscScene *scene, AscSceneNode *node) {

mercurial