Commit Graph

144 Commits (main)

Author SHA1 Message Date
_ a1c21b92c9 Replace string lookups for uniforms with const int lookups 2020-02-17 02:57:30 +00:00
_ 3c37cd030b Use iota crate 2020-02-17 02:31:52 +00:00
_ c4d6243d15 🚨 Fix clippy warnings 2020-02-17 02:09:13 +00:00
_ a41eb8b969 Switch to glDrawRangeElements 2020-02-17 02:03:53 +00:00
_ 1cc363f8d5 Removing test which no longer passes 2020-02-17 02:01:40 +00:00
_ e2b14f3dfb ♻️ Pull out shader source code to text files 2020-02-17 02:00:41 +00:00
_ af4ef579c1 RenderableModel is now using VBOs.
And I made the sky model use RenderableModel, so there are no unsafe blocks
in the main file now.
2020-02-17 01:53:50 +00:00
_ 0e0e3f833a 🚧 RenderableModel uses an index buffer now 2020-02-17 01:27:57 +00:00
_ 5def012e85 Didn't end up adding GPU buffers, but I made the RenderableModel class.
This class clones all the data from iqm::Model that's needed to draw
a mesh / model safely, so I can draw it without unsafe. It can be
upgraded mostly in-place to use GPU buffers later on.
2020-02-17 01:22:05 +00:00
_ c415e9ed80 🚧 checkpoint before adding GPU buffers 2020-02-17 00:32:52 +00:00
_ d45b95961e ♻️ Safened all GL calls except those that actually do access arbitrary memory. 2020-02-16 23:49:38 +00:00
_ c6f71abbca ♻️ More safening 2020-02-16 23:48:26 +00:00
_ 09ce9ab580 ♻️ Make more safe wrappers 2020-02-16 23:44:01 +00:00
_ 963b344122 ♻️ Extract GLES functions that are trivially safe 2020-02-16 23:32:35 +00:00
_ 6b9b2a4e93 Move main.rs to pumpkin.rs 2020-02-16 23:24:33 +00:00
_ ad7b52c0bf ♻️ Extract file.rs 2020-02-16 23:21:32 +00:00
_ 94f963bca6 ♻️ Extract get_attribute_locations 2020-02-16 23:18:23 +00:00
_ 22e15530bf Add .gitignore 2020-02-16 23:14:59 +00:00
_ 88e58d5677 ♻️ extract get_uniform_locations 2020-02-16 23:14:28 +00:00
_ 358e139c9c ♻️ Extract texture.rs and add forgotten shader.rs 2020-02-16 23:07:32 +00:00
_ 593784917e ♻️ Extract timestep.rs 2020-02-16 22:58:45 +00:00
_ f8ceec6b9f 🚨 Fix clippy warnings 2020-02-16 22:56:35 +00:00
_ ffcb2c114d ♻️ Remove now-redundant Iqm* and iqm_* prefixes from names 2020-02-16 22:41:24 +00:00
_ c3473b9507 ♻️ Extract iqm.rs 2020-02-16 22:38:34 +00:00
_ b98a4f09d3 Was gonna make that jet fighter game but then didn't 2020-02-16 22:33:31 +00:00
_ 2e98f3eeda Extract TimeStep 2020-01-26 00:54:16 +00:00
_ 34cb79bef0 Factor out ControllerState and WorldState 2020-01-26 00:41:59 +00:00
_ ab03d50a2f Extract point_to_model 2020-01-26 00:31:26 +00:00
_ 71400eb4ff Add arrow key spinnies 2020-01-17 23:18:08 -06:00
_ 8426d3d5b8 Add readme 2020-01-17 22:53:44 -06:00
_ a2e1206e49 Commit the sky asset to Git for now, I guess. 2020-01-18 04:22:48 +00:00
_ 9a1e43700d Add textured sky sphere 2020-01-15 03:45:47 +00:00
_ b82b39c8d2 Lighting is decent enough 2020-01-13 04:07:56 +00:00
_ aa36fddb09 Got the stem 2020-01-12 19:10:58 +00:00
_ a1911141e1 Pumpkin is lit af but stem isn't drawing yet 2020-01-12 18:46:16 +00:00
_ 9e03a9cbec Rendering mesh 2020-01-09 03:55:44 +00:00
_ 5687dff5db Loading mesh metadata 2020-01-09 03:15:41 +00:00
_ 52e1b71038 Parsing a few header fields from nom 2020-01-09 00:27:46 +00:00
_ 8b25b2fadd Sending the IQM file into nom 2020-01-09 00:18:12 +00:00
_ 90484feee5 Remember how to use nom and Cargo tests 2020-01-08 23:58:36 +00:00
_ 05eca4840f LOTS of unsafe later... got my black triangle. 2020-01-07 05:50:20 +00:00
_ bfeb111b14 Bit of a snag that Rust doesn't use nul-terminated strings. This is
necessary for Rust's slices to be internally consistent, but it means
a slight FFI hitch when working with C. I have to say I take Rust's
side - Strings without a size have been considered a security smell
for a while now.
2020-01-06 02:19:41 +00:00
_ dfecbdd4fb Shader class... appears to work 2020-01-06 01:57:34 +00:00
_ 952b924425 Aha! OpenGL! And Rust! 2020-01-06 01:25:17 +00:00