MCPcopy Create free account
hub / github.com/StereoKit/StereoKit / defaults_init

Function defaults_init

StereoKitC/systems/defaults.cpp:121–338  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

119///////////////////////////////////////////
120
121bool defaults_init() {
122 // Textures
123 sk_default_tex = defaults_texture(default_id_tex, {1,1,1,1} );
124 sk_default_tex_black = defaults_texture(default_id_tex_black, {0,0,0,1} );
125 sk_default_tex_gray = defaults_texture(default_id_tex_gray, {0.5f,0.5f,0.5f,1});
126 sk_default_tex_flat = defaults_texture(default_id_tex_flat, {0.5f,0.5f,1,1} ); // Default for normal maps
127 sk_default_tex_rough = defaults_texture(default_id_tex_rough, {1,1,0,1} ); // Default for metal/roughness maps
128
129 sk_default_tex_devtex = dev_texture(default_id_tex_devtex, { 1,1, 1, 1 }, 1);
130 sk_default_tex_error = dev_texture(default_id_tex_error, { 1,0.7f,0.7f,1 }, 1);
131
132 if (sk_default_tex == nullptr ||
133 sk_default_tex_black == nullptr ||
134 sk_default_tex_gray == nullptr ||
135 sk_default_tex_flat == nullptr ||
136 sk_default_tex_rough == nullptr ||
137 sk_default_tex_devtex== nullptr ||
138 sk_default_tex_error == nullptr)
139 return false;
140
141 tex_set_loading_fallback(sk_default_tex_devtex);
142 tex_set_error_fallback (sk_default_tex_error);
143
144 // Cubemap
145 spherical_harmonics_t lighting = sk_default_lighting;
146 sh_brightness(lighting, 0.75f);
147 sk_default_cubemap = tex_gen_cubemap_sh(lighting, 16, 0.3f);
148 tex_set_id(sk_default_cubemap, default_id_cubemap);
149
150 // Default quad mesh
151 sk_default_quad = mesh_create();
152 vert_t verts[4] = {
153 { vec3{-0.5f,-0.5f,0}, vec3{0,0,-1}, vec2{1,1}, color32{255,255,255,255} },
154 { vec3{ 0.5f,-0.5f,0}, vec3{0,0,-1}, vec2{0,1}, color32{255,255,255,255} },
155 { vec3{ 0.5f, 0.5f,0}, vec3{0,0,-1}, vec2{0,0}, color32{255,255,255,255} },
156 { vec3{-0.5f, 0.5f,0}, vec3{0,0,-1}, vec2{1,0}, color32{255,255,255,255} }, };
157 vind_t inds[6] = { 2,1,0, 3,2,0 };
158 mesh_set_data(sk_default_quad, verts, 4, inds, 6);
159
160 // Default rendering quad
161 sk_default_screen_quad = mesh_create();
162 vert_t sq_verts[4] = {
163 { vec3{-1,-1,0}, vec3{0,0,1}, vec2{0,1}, color32{255,255,255,255} },
164 { vec3{ 1,-1,0}, vec3{0,0,1}, vec2{1,1}, color32{255,255,255,255} },
165 { vec3{ 1, 1,0}, vec3{0,0,1}, vec2{1,0}, color32{255,255,255,255} },
166 { vec3{-1, 1,0}, vec3{0,0,1}, vec2{0,0}, color32{255,255,255,255} }, };
167 vind_t sq_inds[6] = { 0,1,2, 0,2,3 };
168 mesh_set_data(sk_default_screen_quad, sq_verts, 4, sq_inds, 6);
169
170 sk_default_cube = mesh_gen_cube(vec3_one);
171 sk_default_sphere = mesh_gen_sphere(1);
172
173 mesh_set_id(sk_default_quad, default_id_mesh_quad);
174 mesh_set_id(sk_default_screen_quad, default_id_mesh_screen_quad);
175 mesh_set_id(sk_default_cube, default_id_mesh_cube);
176 mesh_set_id(sk_default_sphere, default_id_mesh_sphere);
177
178 // Shaders

Callers

nothing calls this directly

Calls 15

defaults_textureFunction · 0.85
dev_textureFunction · 0.85
tex_set_loading_fallbackFunction · 0.85
tex_set_error_fallbackFunction · 0.85
sh_brightnessFunction · 0.85
tex_gen_cubemap_shFunction · 0.85
tex_set_idFunction · 0.85
mesh_createFunction · 0.85
mesh_set_dataFunction · 0.85
mesh_gen_cubeFunction · 0.85
mesh_gen_sphereFunction · 0.85
mesh_set_idFunction · 0.85

Tested by

no test coverage detected