Commit graph

180 commits

Author SHA1 Message Date
83978aff8c Create Variants and set up its buffer 2018-10-27 10:25:26 -07:00
a14943c42f Reconfigure how sampling is done so that we do it in 16x16 chunks 2018-10-27 10:14:23 -07:00
af3031ece6 Hit an assertion that kernel threadgroup size must be <= 256. Need to figure out how to make this work. 2018-10-27 08:53:54 -07:00
9c0e3dccbd Allow resizing the grid cells via [ and ] 2018-10-27 08:53:21 -07:00
9cbfed136c Clean up the variants geometry 2018-10-27 08:39:45 -07:00
cbc3f5b57a Move math modules to their own group 2018-10-27 08:01:26 -07:00
fb71d50b84 WIP: Fix up geometry for marching squares cells 2018-10-26 07:19:59 -07:00
7ab620cee8 Bring MarchingSquares.Variants over from the other branch -- it needs cleanup 2018-10-14 20:00:44 -07:00
eb55566a13 Compute contour indexes in a kernel and use the results to fill the grid cells 2018-10-14 19:54:12 -07:00
73bbf2196d Reorganize a few things 2018-10-14 17:34:06 -07:00
275b260cf9 Move sampling to a compute kernel 2018-10-14 17:26:12 -07:00
d60b2d8744 Include source in Metal debugging so I can use the debugger! 2018-10-14 17:25:30 -07:00
a10fb0fa18 Reorganize shaders into a group 2018-10-14 15:11:04 -07:00
068d33395a Remove the log 2018-10-14 12:56:57 -07:00
720e3b1b64 Render sampled grid with colors and stuff! 2018-10-14 12:51:24 -07:00
7694a641a0 Remove dead code 2018-10-14 12:51:03 -07:00
3f98d0f478 All to render the grid... 2018-10-14 12:17:17 -07:00
5672a44b47 Add multiplication of matrices to 3x3 and 4x4 2018-10-14 12:17:00 -07:00
8dc11d89d5 Get marching squares rendering a grid! 2018-10-14 12:16:43 -07:00
b2f19dffbf Add shaders for marching squares 2018-10-14 12:16:21 -07:00
1699e3ae14 Add scale to 3x3 matrix 2018-10-14 08:45:15 -07:00
7399d2d187 Let the delegate provide the marchingSquares instance 2018-10-14 08:27:45 -07:00
4cc2b315a1 Add Rect "model" 2018-10-13 22:28:47 -07:00
f77eef76eb Draw some gridlines from the marching squares object
I kinda hate how I did this.
2018-10-13 22:22:10 -07:00
3399bbcd53 Fix the projection stuff
Geometry also in window coordinates, just to make things easier...
2018-10-13 21:29:55 -07:00
63faef4028 Clean up some of the texture sampling 2018-10-13 20:56:15 -07:00
0a75161759 Use MemoryLayout.stride instead of a hardcoded value for spacing 2018-10-13 20:55:39 -07:00
2ed72491b1 Attempt #1 at getting a texture of indexes 2018-10-13 20:55:07 -07:00
f4a9f56fa7 Wait on the semaphore and signal when the buffer is done 2018-10-13 20:53:23 -07:00
dd0306f67a Clean up how the buffer is made; flatten the if tree 2018-10-13 20:53:08 -07:00
a3ae11bfaf Declare a semaphore 2018-10-13 20:52:21 -07:00
491274605c Load other settings into Parameters from user defaults 2018-10-13 20:51:23 -07:00
f1a326e1cb Add sample() func to Field -- needs for two commits ago 2018-10-13 12:41:53 -07:00
1c1171df59 Make some public things internal; scale balls by x and y depending on what's larger 2018-10-13 12:41:40 -07:00
09e9bf1f1a First pass at a marching squares idea 2018-10-13 12:40:53 -07:00
d6b8d97b49 Bump deployment target 2018-10-13 12:40:27 -07:00
6bcdc867c4 Recompute pixelGeometry after resize 2018-10-12 17:29:08 -07:00
c809d18fd2 Make the iOS and screensaver targets build with nicer names 2018-10-12 17:16:49 -07:00
cbbb7e2440 Update shaders for C++11 style type declarations 2018-10-12 17:16:00 -07:00
1ed5f0bf6e Orthographic projectify the vertexes 2018-10-12 17:15:33 -07:00
6dc175c39d Render triangles as wireframes, instead of rendering lines 2018-10-11 16:54:57 -07:00
cb8afac46f Comments about what's going on 2018-10-11 16:45:01 -07:00
e212a338d7 Load contents of previous pass before rendering geometry 2018-10-11 16:40:29 -07:00
7a14ac461e Execute a pass for rendering marching squares
(This just renders the geometry of the field the pixel pipeline draws onto so far)
2018-10-11 16:28:22 -07:00
03923bdd7e Add marching squares pipeline and configure it 2018-10-11 16:06:05 -07:00
a755a4f3de Pass in pixel format instead of whole view 2018-10-11 16:00:59 -07:00
3808463e55 Move pipelineState into pixelPipeline
Move configuration to its own method
2018-10-11 11:26:09 -07:00
80d4e6f043 Rearrange render pass encoding so that presentation and commit() are outside the encoder if block 2018-10-11 11:15:10 -07:00
81e90f3349 TODO: Idk what this does 2018-10-11 10:58:01 -07:00
48d3f380fc Add passthroughFragmentShader
Just sets every input to white.
2018-10-11 10:53:52 -07:00