Commit graph

93 commits

Author SHA1 Message Date
48425d5cb8 Tests for breadth first search 2018-11-10 12:47:04 -05:00
8d6c48466b Remove all the explicit type names from the tests 2018-11-10 10:40:44 -05:00
25abb91476 Move BFS stuff to use the new helper method 2018-11-10 10:40:29 -05:00
cd48797fa9 Fix the build; test box subdivisions 2018-11-10 10:30:07 -05:00
8e2a873edf Move shader files to Shaders group 2018-11-10 09:54:17 -05:00
cce59a45dc Get down an initial diamond-squares implementation 2018-11-10 09:53:37 -05:00
a390cbc584 Add unit test target for Terrain2 2018-11-08 20:19:31 -05:00
7343f0a83a Wrap algorithm iteration flag in a semaphore 2018-11-07 17:11:30 -05:00
1a5ed92c14 Regeneration on ever 'n' now, but it gets scheduled on every frame in that semaphore group 2018-11-07 17:05:28 -05:00
11b9cba8ac Add a Uniform object for RandomAlgorithm
This object contains several random numbers for the GPU kernel to use when generating random points. This isn't right yet (there are still patterns in the generated data) but it's time to move on...
2018-11-07 16:47:07 -05:00
76f0065d8b Generate some pseudo-random numbers with a PRNG class in the shaders. 2018-11-04 22:30:06 -05:00
bd9cba2886 Get rid of an unused static let 2018-11-04 14:26:15 -05:00
8ffb0a1cfe Generate terrain on a keypress 2018-11-04 14:19:02 -05:00
55a134882d Proof of concept for Algorithm objects
Next up compute kernel dispatch!
2018-11-04 13:44:47 -05:00
96730ecd41 Use a fixed size 512x512 texture for the height map
This will make implementing other algorithms easier. :D
2018-11-04 11:34:25 -05:00
af5e5a6123 Generate some random heights to fill the height map texture and ... it works! 2018-11-04 08:25:01 -05:00
18e9d078b0 TODO 2018-11-04 08:07:17 -05:00
4803620d4b Read texture data from the heights texture 2018-11-04 08:06:48 -05:00
753e8eb311 Give the grid coordinate vertex attribute a nice name 2018-11-03 16:35:46 -04:00
d4d4a0a7ba Attach height texture to vertex shader 2018-11-03 16:35:23 -04:00
a5d08d6974 Over-zealous multiline edit 2018-11-03 16:26:55 -04:00
f1517a2166 Rename an unnecessarily long variable 2018-11-03 16:25:57 -04:00
dac8f24568 Add grid coordinate argument encoding stuff and a texture to hold heights 2018-11-03 16:25:19 -04:00
a5c86f9c31 Doc comments! 2018-11-03 16:02:35 -04:00
5fa89d1e47 Extract Terrain into its own class 2018-11-03 15:59:11 -04:00
ee2431d9c4 Fix Terrain2's build 2018-11-03 15:44:10 -04:00
bf6cd3ca15 Take another stab at getting Terrain to render, but no :( 2018-11-03 15:44:02 -04:00
dc179036dc Render a plane in Terrain2 instead of a box 2018-11-03 15:43:47 -04:00
a771c2622a Create Terrain2 app, using Xcode's boilerplate 2018-11-03 15:15:03 -04:00
df0a4ca6fc Explicitly link Metal and MetalKit 2018-11-03 15:08:01 -04:00
a311423cb1 Strip down shaders to their most basic forms 2018-11-03 15:07:32 -04:00
dff9e5d3bf Terrain grid goes between -1 and 1 2018-11-03 15:07:21 -04:00
49783610e7 In the name of debugging, use a smaller grid and make more local vars 2018-11-03 15:07:03 -04:00
3ce38b4b8b Move all Metal setup to the Renderer 2018-11-03 15:06:30 -04:00
e18a956875 Create the TerrainVC in the xib 2018-11-03 15:05:27 -04:00
35ed423144 Remove alpha render attachment stuff 2018-11-03 14:23:45 -04:00
67134c157b Get all the pieces together
Still doesn't render though. :\
2018-11-03 14:01:34 -04:00
8a664fff70 Pass the device around 2018-11-03 10:50:43 -04:00
2361199267 Add Terrain class that generates terrain 2018-11-03 10:45:57 -04:00
31f2258ec3 Remove CGSize extension that uses nonexistent Size 2018-11-03 10:45:44 -04:00
bb9507e3ec Create a Renderer and copy over the Math library 2018-11-03 10:16:22 -04:00
75f23a94a4 Set up a TerrainViewController with an MTKView 2018-11-03 09:55:46 -04:00
28caab9052 Initial Commit 2018-11-03 09:43:38 -04:00