static struct child* find_from_filename(char* filename, struct folder *root) { char *slash = strchr(filename, '/'); int i = 0; if (slash) *slash = '\0'; if (!root) return NULL; struct child *this; /* filenames beginning with a / are specially treated as the * loop below can't handle them. they can only occur on the first, * and not recursive, calls to this function.*/ if (slash == filename) { /* filename begins with /. in this case root must be the * top level folder */ this = &root->children[0]; if (!slash[1]) { /* filename == "/" */ return this; } else { /* filename == "/XXX/YYY". cascade down */ if (!this->folder) this->folder = load_folder(root, this->name); this->state = EXPANDED; /* recurse with XXX/YYY */ return find_from_filename(slash+1, this->folder); } } while (i < root->children_count) { this = &root->children[i]; if (!strcasecmp(this->name, filename)) { if (!slash) { /* filename == XXX */ return this; } else { /* filename == XXX/YYY. cascade down */ if (!this->folder) this->folder = load_folder(root, this->name); this->state = EXPANDED; return find_from_filename(slash+1, this->folder); } } i++; } return NULL; }
static int load_resources(void* unused) { load_folder("./resources/terrain/"); load_folder("./resources/vegetation/"); static_object* skydome = entity_new("skydome", static_object); skydome->renderable = asset_get("./resources/terrain/skydome.obj"); renderable_set_material(skydome->renderable, asset_get("./resources/terrain/skydome.mat")); skydome->position = v3(512, 0, 512); skydome->scale = v3(1024, 1024, 1024); landscape* world = entity_new("world", landscape); world->terrain = asset_get("./resources/terrain/heightmap.raw"); world->normalmap = asset_get("./resources/terrain/normalsmap.dds"); world->colormap = asset_get("./resources/terrain/colormap.dds"); world->attributemap = asset_get("./resources/terrain/attributemap.dds"); landscape_set_surface(world, 0, asset_get("./resources/terrain/grass.dds"), asset_get("./resources/terrain/grass_nm.dds"), asset_get("./resources/terrain/grass_far.dds"), asset_get("./resources/terrain/grass_far_nm.dds")); landscape_set_surface(world, 1, asset_get("./resources/terrain/grass2.dds"), asset_get("./resources/terrain/grass2_nm.dds"), asset_get("./resources/terrain/grass_far.dds"), asset_get("./resources/terrain/grass_far_nm.dds")); landscape_set_surface(world, 2, asset_get("./resources/terrain/earth.dds"), asset_get("./resources/terrain/earth_nm.dds"), asset_get("./resources/terrain/earth_far.dds"), asset_get("./resources/terrain/earth_far_nm.dds")); landscape_set_surface(world, 3, asset_get("./resources/terrain/rock.dds"), asset_get("./resources/terrain/rock_nm.dds"), asset_get("./resources/terrain/rock_far.dds"), asset_get("./resources/terrain/rock_far_nm.dds")); vegetation_init(); vegetation_add_type(asset_get("./resources/terrain/heightmap.raw"), asset_get("./resources/vegetation/grass.obj"), 4.0); ui_button* loading = ui_elem_get("loading"); ui_spinner* load_spinner = ui_elem_get("load_spinner"); ui_button* framerate = ui_elem_get("framerate"); ui_button* wireframe = ui_elem_get("wireframe"); ui_button* freecam = ui_elem_get("freecam"); loading->active = false; load_spinner->active = false; framerate->active = true; wireframe->active = true; freecam->active = true; loading_resources = false; return 1; }
static void load_filenames( producer_qimage self, mlt_properties properties ) { char *filename = mlt_properties_get( properties, "resource" ); self->filenames = mlt_properties_new( ); if (!load_svg( self, properties, filename ) && !load_sequence( self, properties, filename ) && !load_sequence2( self, properties, filename ) && !load_folder( self, properties, filename ) ) { mlt_properties_set( self->filenames, "0", filename ); } self->count = mlt_properties_count( self->filenames ); }
static void load_filenames( producer_pixbuf self, mlt_properties properties ) { char *filename = mlt_properties_get( properties, "resource" ); self->filenames = mlt_properties_new( ); if (!load_svg( self, properties, filename ) && !load_sequence_querystring( self, properties, filename ) && !load_sequence_sprintf( self, properties, filename ) && !load_sequence_deprecated( self, properties, filename ) && !load_folder( self, properties, filename ) ) { mlt_properties_set( self->filenames, "0", filename ); } self->count = mlt_properties_count( self->filenames ); }
qdicomfolderwidget::qdicomfolderwidget(QString folder, QWidget* parent) : QWidget(parent), _folder(folder) { qDebug() << "Folder name : "<< _folder << endl; if (load_folder()) qDebug() << "Glop \n"; _dicomwidget = new qdicomimagewidget(_list.at(0).filePath(),parent); qDebug() << _list.at(0).filePath(); // PROBLEME _dcmFileFormat->LoadFile(_file); _slider = new QSlider(Qt::Horizontal); _slider->setRange(0,_list.size()-1); _slider->setValue(0); QVBoxLayout * layout = new QVBoxLayout; layout->addWidget(_dicomwidget); layout->addWidget(_slider); setLayout(layout); connect(_slider, SIGNAL(valueChanged(int)), this, SLOT(setFile(int)));//setValue(int))); }
File_Ball::File_Ball(std::string p, std::string n) : Node(), _dir(p), _name(n) { if(opendir(p.c_str()) == NULL) { ERROR("Directory " << p << " was not found."); return; } struct stat info; if (stat(path().c_str(), &info) == 0) { if (S_ISDIR(info.st_mode)) load_folder(); else load_file(); } else //Making a new one create(); }
void sea_init() { graphics_viewport_set_dimensions(1280, 720); graphics_viewport_set_title("Sea"); camera* cam = entity_new("camera", camera); cam->position = v3(50.0, 50.0, 50.0); cam->target = v3(0, 5, 0); cam->near_clip = 0.1; light* sun = entity_new("sun", light); light_set_type(sun, light_type_spot); sun->position = v3(20,23,16); sun->ambient_color = v3(0.5, 0.5, 0.5); sun->diffuse_color = v3(1.0, 0.894, 0.811); sun->specular_color = v3_mul(v3(1.0, 0.894, 0.811), 4); sun->power = 5; light* backlight = entity_new("backlight", light); light_set_type(backlight, light_type_point); backlight->position = v3(-22,10,-13); backlight->ambient_color = v3(0.2, 0.2, 0.2); backlight->diffuse_color = v3(0.729, 0.729, 1.0); backlight->specular_color = v3_mul(v3(0.729, 0.729, 1.0), 1); backlight->power = 2; shadow_mapper_init(sun); forward_renderer_init(); forward_renderer_set_camera(cam); forward_renderer_set_shadow_light(sun); forward_renderer_set_shadow_texture( shadow_mapper_depth_texture() ); forward_renderer_add_light(sun); forward_renderer_add_light(backlight); load_folder("./resources/"); texture* noise1 = asset_get("./resources/noise1.dds"); texture* noise2 = asset_get("./resources/noise2.dds"); texture* noise3 = asset_get("./resources/noise3.dds"); texture* noise4 = asset_get("./resources/noise4.dds"); texture* noise5 = asset_get("./resources/noise5.dds"); texture* skydome_tex = asset_get("./resources/skybox_cloud_10.dds"); texture* water_calm = asset_get("./resources/water_calm.dds"); texture* water_foam = asset_get("./resources/water_foam.dds"); material* seaplane_mat = asset_get("./resources/seaplane.mat"); material_set_property(seaplane_mat, "tex_noise1", noise1, mat_type_texture); material_set_property(seaplane_mat, "tex_noise2", noise2, mat_type_texture); material_set_property(seaplane_mat, "tex_noise3", noise3, mat_type_texture); material_set_property(seaplane_mat, "tex_noise4", noise4, mat_type_texture); material_set_property(seaplane_mat, "tex_noise5", noise5, mat_type_texture); material_set_property(seaplane_mat, "tex_skybox", skydome_tex, mat_type_texture); material_set_property(seaplane_mat, "tex_calm_water", water_calm, mat_type_texture); material_set_property(seaplane_mat, "tex_foam_water", water_foam, mat_type_texture); renderable* r_seaplane = asset_get("./resources/seaplane.obj"); renderable_set_material(r_seaplane, seaplane_mat); static_object* s_seaplane = entity_new("seaplane", static_object); s_seaplane->renderable = r_seaplane; s_seaplane->scale = v3(3,1,3); static_object* skydome = entity_new("skydome", static_object); skydome->renderable = asset_get("./resources/skydome.obj"); renderable_set_material(skydome->renderable, asset_get("./resources/skydome.mat")); skydome->position = v3(0, -512, 0); skydome->scale = v3(1024, 1024, 1024); load_folder("./resources/corvette/"); renderable* r_corvette = asset_get("./resources/corvette/corvette.obj"); multi_material* m_corvette = asset_get("./resources/corvette/corvette.mmat"); renderable_set_multi_material(r_corvette, m_corvette); static_object* s_corvette = entity_new("corvette", static_object); s_corvette->renderable = r_corvette; s_corvette->collision_body = collision_body_new_mesh(asset_get("./resources/corvette/corvette.col")); s_corvette->scale = v3(1.5, 1.5, 1.5); s_corvette->position = v3(0, 0.5, 0); static_object* center_sphere = entity_new("center_sphere", static_object); center_sphere->position = v3(0, 5, 0); center_sphere->renderable = asset_get("./resources/ball.obj"); center_sphere->collision_body = collision_body_new_sphere(sphere_new(v3_zero(), 1.0f)); ui_button* framerate = ui_elem_new("framerate", ui_button); ui_button_move(framerate, v2(10,10)); ui_button_resize(framerate, v2(30,25)); ui_button_set_label(framerate, "FRAMERATE"); ui_button_disable(framerate); }
void deferred_renderer_init() { num_lights = 0; EXPOSURE = 0.0; EXPOSURE_SPEED = 1.0; EXPOSURE_TARGET = 0.4; COLOR_CORRECTION = asset_load_get("$CORANGE/resources/identity.lut"); RANDOM = asset_load_get("$CORANGE/resources/random.dds"); ENVIRONMENT = asset_load_get("$CORANGE/resources/envmap.dds"); VIGNETTING = asset_load_get("$CORANGE/resources/vignetting.dds"); load_folder("$CORANGE/shaders/deferred/"); PROGRAM_STATIC = asset_get("$CORANGE/shaders/deferred/static.prog"); PROGRAM_ANIMATED = asset_get("$CORANGE/shaders/deferred/animated.prog"); PROGRAM_CLEAR = asset_get("$CORANGE/shaders/deferred/clear.prog"); PROGRAM_SSAO = asset_get("$CORANGE/shaders/deferred/ssao.prog"); PROGRAM_TONEMAP = asset_get("$CORANGE/shaders/deferred/tonemap.prog"); PROGRAM_COMPOSE = asset_get("$CORANGE/shaders/deferred/compose.prog"); PROGRAM_POST = asset_get("$CORANGE/shaders/deferred/post.prog"); PROGRAM_UI = asset_get("$CORANGE/shaders/deferred/ui.prog"); NORMAL = glGetAttribLocation(shader_program_handle(PROGRAM_STATIC), "normal"); TANGENT = glGetAttribLocation(shader_program_handle(PROGRAM_STATIC), "tangent"); BINORMAL = glGetAttribLocation(shader_program_handle(PROGRAM_STATIC), "binormal"); NORMAL_ANIMATED = glGetAttribLocation(shader_program_handle(PROGRAM_ANIMATED), "normal"); TANGENT_ANIMATED = glGetAttribLocation(shader_program_handle(PROGRAM_ANIMATED), "tangent"); BINORMAL_ANIMATED = glGetAttribLocation(shader_program_handle(PROGRAM_ANIMATED), "binormal"); BONE_INDICIES = glGetAttribLocation(shader_program_handle(PROGRAM_ANIMATED), "bone_indicies"); BONE_WEIGHTS = glGetAttribLocation(shader_program_handle(PROGRAM_ANIMATED), "bone_weights"); int viewport_width = graphics_viewport_width(); int viewport_height = graphics_viewport_height(); glGenFramebuffers(1, &fbo); glBindFramebuffer(GL_FRAMEBUFFER, fbo); glGenRenderbuffers(1, &diffuse_buffer); glBindRenderbuffer(GL_RENDERBUFFER, diffuse_buffer); glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA, viewport_width, viewport_height); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, diffuse_buffer); glGenRenderbuffers(1, &positions_buffer); glBindRenderbuffer(GL_RENDERBUFFER, positions_buffer); glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA32F, viewport_width, viewport_height); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1, GL_RENDERBUFFER, positions_buffer); glGenRenderbuffers(1, &normals_buffer); glBindRenderbuffer(GL_RENDERBUFFER, normals_buffer); glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA16F, viewport_width, viewport_height); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT2, GL_RENDERBUFFER, normals_buffer); glGenRenderbuffers(1, &depth_buffer); glBindRenderbuffer(GL_RENDERBUFFER, depth_buffer); glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, viewport_width, viewport_height); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depth_buffer); glGenTextures(1, &diffuse_texture); glBindTexture(GL_TEXTURE_2D, diffuse_texture); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, viewport_width, viewport_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, diffuse_texture, 0); glGenTextures(1, &positions_texture); glBindTexture(GL_TEXTURE_2D, positions_texture); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, viewport_width, viewport_height, 0, GL_RGBA, GL_FLOAT, NULL); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1, GL_TEXTURE_2D, positions_texture, 0); glGenTextures(1, &normals_texture); glBindTexture(GL_TEXTURE_2D, normals_texture); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F, viewport_width, viewport_height, 0, GL_RGBA, GL_FLOAT, NULL); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT2, GL_TEXTURE_2D, normals_texture, 0); glGenTextures(1, &depth_texture); glBindTexture(GL_TEXTURE_2D, depth_texture); glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, viewport_width, viewport_height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, depth_texture, 0); glGenFramebuffers(1, &ssao_fbo); glBindFramebuffer(GL_FRAMEBUFFER, ssao_fbo); glGenRenderbuffers(1, &ssao_buffer); glBindRenderbuffer(GL_RENDERBUFFER, ssao_buffer); glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA, viewport_width / 2, viewport_height / 2); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, ssao_buffer); glGenTextures(1, &ssao_texture); glBindTexture(GL_TEXTURE_2D, ssao_texture); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, viewport_width / 2, viewport_height / 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, ssao_texture, 0); glGenFramebuffers(1, &hdr_fbo); glBindFramebuffer(GL_FRAMEBUFFER, hdr_fbo); glGenRenderbuffers(1, &hdr_buffer); glBindRenderbuffer(GL_RENDERBUFFER, hdr_buffer); glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA16F, viewport_width, viewport_height); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, ldr_buffer); glGenTextures(1, &hdr_texture); glBindTexture(GL_TEXTURE_2D, hdr_texture); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA16F, viewport_width, viewport_height, 0, GL_RGBA, GL_FLOAT, NULL); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, hdr_texture, 0); glGenFramebuffers(1, &ldr_fbo); glBindFramebuffer(GL_FRAMEBUFFER, ldr_fbo); glGenRenderbuffers(1, &ldr_buffer); glBindRenderbuffer(GL_RENDERBUFFER, ldr_buffer); glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA, viewport_width, viewport_height); glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, ldr_buffer); glGenTextures(1, &ldr_texture); glBindTexture(GL_TEXTURE_2D, ldr_texture); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, viewport_width, viewport_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, ldr_texture, 0); glBindFramebuffer(GL_FRAMEBUFFER, 0); }
static int folder_action_callback(int action, struct gui_synclist *list) { struct folder *root = (struct folder*)list->data; struct folder *parent; struct child *this = find_index(root, list->selected_item, &parent), *child; int i; if (action == ACTION_STD_OK) { switch (this->state) { case EXPANDED: this->state = SELECTED; break; case SELECTED: this->state = COLLAPSED; break; case COLLAPSED: if (this->folder == NULL) this->folder = load_folder(parent, this->name); this->state = this->folder ? (this->folder->children_count == 0 ? SELECTED : EXPANDED) : EACCESS; break; case EACCESS: /* cannot open, do nothing */ return action; } list->nb_items = count_items(root); return ACTION_REDRAW; } else if (action == ACTION_STD_CONTEXT) { switch (this->state) { case EXPANDED: for (i = 0; i < this->folder->children_count; i++) { child = &this->folder->children[i]; if (child->state == SELECTED || child->state == EXPANDED) child->state = COLLAPSED; else if (child->state == COLLAPSED) child->state = SELECTED; } break; case SELECTED: case COLLAPSED: if (this->folder == NULL) this->folder = load_folder(parent, this->name); this->state = this->folder ? (this->folder->children_count == 0 ? SELECTED : EXPANDED) : EACCESS; if (this->state == EACCESS) break; for (i = 0; i < this->folder->children_count; i++) { child = &this->folder->children[i]; child->state = SELECTED; } break; case EACCESS: /* cannot open, do nothing */ return action; } list->nb_items = count_items(root); return ACTION_REDRAW; } return action; }
void metaballs_init() { graphics_viewport_set_title("Metaballs"); graphics_viewport_set_dimensions(1280, 720); graphics_set_multisamples(16); #ifdef OPEN_GL_CPU kernels_init_with_cpu(); #else kernels_init_with_opengl(); #endif asset_manager_handler(kernel_program, "cl", cl_load_file, kernel_program_delete); load_folder("./kernels/"); particles_init(); load_folder("./resources/podium/"); load_folder("./resources/particles/"); renderable* r_podium = asset_get("./resources/podium/podium.obj"); renderable_set_material(r_podium, asset_get("./resources/podium/podium.mat")); static_object* s_podium = entity_new("podium", static_object); s_podium->renderable = r_podium; s_podium->position = v3(32, 10, 32); camera* cam = entity_new("camera", camera); cam->position = v3(50, 50, 50); cam->target = v3(32, 20, 32); light* sun = entity_new("sun", light); sun->position = v3(50,40,50); sun->ambient_color = v3(0.5, 0.5, 0.5); sun->diffuse_color = v3_mul(v3_one(), 2); sun->specular_color = v3_mul(v3_one(), 5); light_set_type(sun, light_type_spot); ui_button* framerate = ui_elem_new("framerate", ui_button); ui_button_move(framerate, v2(10,10)); ui_button_resize(framerate, v2(30,25)); ui_button_set_label(framerate, ""); ui_button_disable(framerate); ui_button* score = ui_elem_new("score", ui_button); ui_button_move(score, v2(50, 10)); #ifdef VOLUME_RENDERER ui_button_resize(score, v2(125, 25)); ui_button_set_label(score, "Volume Renderer"); #endif #ifdef MARCHING_CUBES ui_button_resize(score, v2(120, 25)); ui_button_set_label(score, "Marching Cubes"); #endif #ifndef VOLUME_RENDERER #ifndef MARCHING_CUBES ui_button_resize(score, v2(80, 25)); ui_button_set_label(score, "Particles"); #endif #endif ui_button_disable(score); #ifdef VOLUME_RENDERER volume_renderer_init(); volume_renderer_set_camera(cam); volume_renderer_set_light(sun); #endif #ifdef MARCHING_CUBES shadow_mapper_init(sun); forward_renderer_init(); forward_renderer_set_camera(cam); forward_renderer_set_shadow_light(sun); forward_renderer_set_shadow_texture( shadow_mapper_depth_texture() ); forward_renderer_add_light(sun); marching_cubes_init(); #endif }