Commit graph

107 commits

Author SHA1 Message Date
6c0792fc9c Implement Emily's algorithm for computing vertex normals 2018-11-22 10:53:02 -07:00
3cd9aca62b Schedule the vertex normal update kernel 2018-11-22 09:35:01 -07:00
55e63cd2cc Pass through uniforms for normals, which means different colors for vertex and face normals! 2018-11-22 08:52:15 -07:00
d3298f11a7 Rename unforms -> geometryUniforms 2018-11-22 08:30:19 -07:00
907a0845a7 Factor out per-frame stuff into a PerFrameObject<T> class; use it for the rendering Uniforms 2018-11-22 08:29:14 -07:00
65ffec18e9 A couple small random tweaks while I play with lighting 2018-11-22 08:12:15 -07:00
30d7386805 Tweak lighting and material 2018-11-22 08:11:49 -07:00
5584e2eb37 Move math functions to Math module 2018-11-22 08:11:30 -07:00
cd9bf6c1a9 Move PRNG to Random.hh 2018-11-22 07:58:36 -07:00
18f8c141af Disable normals; remove dead code 2018-11-21 22:11:03 -07:00
91c92c9675 Rewrite lighting shader to use Light and Material objects 2018-11-21 22:10:03 -07:00
2ef3781935 Move ShaderTypes.h to Shaders group 2018-11-21 09:11:24 -07:00
023d50a791 Remove colorMap texture 2018-11-21 09:06:01 -07:00
d72992c26f Add Light and Material objects to ShaderTypes.h 2018-11-21 08:58:31 -07:00
261a768ae5 Remove RandomGenerator 2018-11-21 08:57:59 -07:00
4e5dfcf20b Remove the Uniforms.c file 2018-11-21 08:42:17 -07:00
73d162337c Attempt to do Phong shading in the fragment shader 2018-11-21 08:19:41 -07:00
59697dbb51 Per-pixel shading in the fragment shader instead of per-vertex in the vertex shader 2018-11-20 20:14:43 -07:00
4d61d05f4d A few misc cleanup things
- Render normals every frame for now
- Pass 3x3 normal matrix as the top-left 3x3 submatrix of the viewModel matrix
- Slightly darken the light
2018-11-20 17:31:18 -07:00
08094b4302 Toggle rendering normals with 'n'; move Next iteration key to 'space' 2018-11-20 17:24:02 -07:00
296af144ce Get face normals rendering 2018-11-20 17:13:31 -07:00
f28e6e08df Clean up some logging 2018-11-20 16:22:43 -07:00
a02726404c Pass in the faceNormals 2018-11-20 11:24:43 -07:00
952204a5b6 Pass the normal matrix through and multiply the normal by it 2018-11-20 11:24:28 -07:00
e99cd03446 Adjust segments of terrain 2018-11-20 11:02:49 -07:00
ebac808683 Update tests to pass in progress objects 2018-11-20 11:02:33 -07:00
97c31c7548 Add normalMatrix uniform 2018-11-20 11:01:46 -07:00
55f7c6fe78 Add Math module and an extension to float4 to make a float3 2018-11-20 11:00:59 -07:00
43e42f5374 Get face normals updated 2018-11-19 21:52:53 -07:00
764b772fd9 Scale the normal line down 2018-11-19 21:34:44 -07:00
c3cc0c7fe4 Render normals at each vertex 2018-11-19 13:17:06 -07:00
bd696eac1c Write a quick pair of shaders for rendering normals 2018-11-19 11:27:21 -07:00
95fe543efc Fix progress accounting: make it out of 1 instead of out of 3 tasks 2018-11-19 10:57:10 -07:00
7ff2d3ed6e Move terrain update encoding to Terrain type 2018-11-19 10:53:33 -07:00
db1b0185e2 Parameterize dimensions and segments 2018-11-19 10:22:46 -07:00
e56f94dc56 Fix up indentation 2018-11-18 21:17:52 -07:00
2b2539d7df Implement progress tracking 2018-11-18 21:15:20 -07:00
58f59baaf5 Reduce the texture size to 129 square 2018-11-14 08:09:41 -08:00
8e9f88faad Add some os_signposts to track terrain generation 2018-11-14 07:57:54 -08:00
ebfe3b5d57 Instead of using map(), try just modifying the Points directly for diamond corners 2018-11-11 22:13:52 -05:00
50d895afa1 Add a performance test for the Diamond-Square renderer 2018-11-11 22:13:14 -05:00
f0d6177567 Move the render queue to the Diamond-Square object 2018-11-11 22:13:10 -05:00
e62dd1b0f2 Work in the normal calculations 2018-11-11 21:04:03 -05:00
f6f01b6419 Toggle filled and lines mode with z key 2018-11-11 20:34:04 -05:00
dc3de77a59 Debug modifying the geometry
packed_float3 != float3 ¯\_(ツ)_/¯
2018-11-11 20:16:08 -05:00
3462fa2458 Update heights of plane geometry in a shader kernel 2018-11-11 19:50:43 -05:00
e5678f291b Pass normals through to the fragment shader 2018-11-10 21:46:32 -05:00
6a86368d3a Include the normals in the generated Plane geometry 2018-11-10 21:10:03 -05:00
cb16b84ab9 Dispatch the Diamond-Square render pass onto a worker queue to keep the main thread free 2018-11-10 20:57:23 -05:00
6a43c10b9f Add a roughness control 2018-11-10 17:52:37 -05:00