diff options
| author | 3gg <3gg@shellblade.net> | 2023-01-06 09:25:11 -0800 | 
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2023-01-06 09:25:11 -0800 | 
| commit | c447ba1064ec9b170dfbee30d3b49da4cf8e0ffd (patch) | |
| tree | 0ed81dc5b2e1c3f4441a941733815dfe46a5ef53 /gltfview/src | |
| parent | 3db2b6fe574ce7d2e0b49720f0453b824a4d8312 (diff) | |
More spec-compliant rendering of albedo and metal-roughness.
Diffstat (limited to 'gltfview/src')
| -rw-r--r-- | gltfview/src/game.c | 15 | 
1 files changed, 9 insertions, 6 deletions
| diff --git a/gltfview/src/game.c b/gltfview/src/game.c index 54e498b..224200d 100644 --- a/gltfview/src/game.c +++ b/gltfview/src/game.c | |||
| @@ -189,8 +189,8 @@ static bool load_texture_debugger_scene(Game* game) { | |||
| 189 | 189 | ||
| 190 | bool game_new(Game* game, int argc, const char** argv) { | 190 | bool game_new(Game* game, int argc, const char** argv) { | 
| 191 | // TODO: getopt() to implement proper argument parsing. | 191 | // TODO: getopt() to implement proper argument parsing. | 
| 192 | const char* view_mode = argc > 1 ? argv[1] : ""; | 192 | const char* scene_filepath = argc > 1 ? argv[1] : DEFAULT_SCENE_FILE; | 
| 193 | const char* scene_filepath = argc > 2 ? argv[2] : DEFAULT_SCENE_FILE; | 193 | const char* view_mode = argc > 2 ? argv[2] : ""; | 
| 194 | 194 | ||
| 195 | game->gfx = gfx_init(); | 195 | game->gfx = gfx_init(); | 
| 196 | if (!game->gfx) { | 196 | if (!game->gfx) { | 
| @@ -234,12 +234,15 @@ void game_update(Game* game, double t, double dt) { | |||
| 234 | usleep(1000); | 234 | usleep(1000); | 
| 235 | game->elapsed -= 1.0; | 235 | game->elapsed -= 1.0; | 
| 236 | } | 236 | } | 
| 237 | Camera* camera = gfx_get_camera_camera(game->camera); | 237 | // TODO: Compute bounding boxes to then find a good orbit point and radius | 
| 238 | // for each scene. | ||
| 239 | const vec3 orbit_point = vec3_make(0, 2, 0); | ||
| 240 | Camera* camera = gfx_get_camera_camera(game->camera); | ||
| 238 | spatial3_orbit( | 241 | spatial3_orbit( | 
| 239 | &camera->spatial, vec3_make(0, 0, 0), | 242 | &camera->spatial, orbit_point, | 
| 240 | /*radius=*/2, | 243 | /*radius=*/2.5, | 
| 241 | /*azimuth=*/t * 0.5, /*zenith=*/0); | 244 | /*azimuth=*/t * 0.5, /*zenith=*/0); | 
| 242 | spatial3_lookat(&camera->spatial, vec3_make(0, 0, 0)); | 245 | spatial3_lookat(&camera->spatial, orbit_point); | 
| 243 | } | 246 | } | 
| 244 | 247 | ||
| 245 | void game_render(const Game* game) { | 248 | void game_render(const Game* game) { | 
