diff options
author | pommicket <pommicket@gmail.com> | 2022-12-21 15:45:58 -0500 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2022-12-21 15:45:58 -0500 |
commit | 7bde2ed24256f6216b6c910b3e1f70532be0d941 (patch) | |
tree | 9c523341b1945c59b05c9a0358a4a4e4c517f1d5 /src/main.rs | |
parent | 49cfde2fb9fca47c3eab73f029fe0a2b9c913544 (diff) |
some more functions
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs index 1b0c382..66cef23 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,10 +1,13 @@ /* @TODO: - configurable resolution + (e.g. run on 1080p monitor at 720p to make it go faster) - let user go back&forth through past sdfs using scenes.txt file - documentation - GenRandom integers (just use 0..u32::MAX and add a modulus) - record a video +- blender-style rendering the picture in multiple frames + (this lets us look at super complicated SDFs while still processing input, etc. at 60 fps) - better SDL api: Context + Window<'a> impl !Send+!Sync - gallery view ----- @@ -31,6 +34,7 @@ a263736466a1634d697883a167436f6d706f736583a1695472616e736c61746583a16454696d6582 a263736466a1634d697883a169536d6f6f74684d696e82a167436f6d706f736583a166526f7461746583a16454696d6582fa3ce93344fa3f037de0a16454696d6582fabcf59274fa3f605e9ca16454696d6582fabd5d556dfa3f13891ca167436f6d706f736583a167436f6d706f736582a167436f6d706f736582a16641726374616ea163463332fa3da39b50a167436f6d706f736582684964656e74697479684964656e74697479a167436f6d706f736582a16353696ea163463332fa3e785a08a167436f6d706f736582684964656e74697479684964656e74697479a167436f6d706f736583a166526f7461746583a163463332fa3ec36808a163463332fa3e1fdf58a163463332fa3e69ed18a165546f727573a266726164697573a163463332fa3fb2f5de69746869636b6e657373a163463332fa3e22de5d684964656e74697479684964656e74697479684964656e74697479a167436f6d706f736583a16353696ea163463332fa3ea5ea70a168426f784672616d65a26473697a65a16454696d6582fabe10ed3efa3eb1cfd869746869636b6e657373a163463332fa3e0dea57684964656e74697479a168426f784672616d65a26473697a65a16454696d6582fabd741592fa401a9ae469746869636b6e657373a16454696d6582fa3c677072fa3e3bc95da16454696d6582fa3b24dd40fa3e816f846e636f6c6f725f66756e6374696f6ea165537153696ea16454696d6582fabc7f2b18fa3f6e73c2 a263736466a167436f6d706f736583a1695472616e736c61746583a163463332fa3f4811e4a163463332fa3f78c51ea16454696d6582fa3d90de6dfa3f596b98a1634d697883a167436f6d706f736583a167436f6d706f736582684964656e74697479684964656e74697479a167436f6d706f736583684964656e74697479a166537068657265a163463332fa3eef3a44684964656e74697479684964656e74697479a167436f6d706f736583a16f496e66696e6974654d6972726f7273a163463332fa3f6ad464a165546f727573a266726164697573a163463332fa3fcd633269746869636b6e657373a163463332fa3d887747684964656e74697479a16454696d6582fabcad7e74fa3f444f5c684964656e746974796e636f6c6f725f66756e6374696f6ea167436f6d706f736582a167436f6d706f736582a167436f6d706f736582a166526f7461746583a163463332fa3f139110a163463332fa3e8c6384a163463332fa3edc7998675369676d6f6964a16353696ea16454696d6582fa3ce10f8cfa3e42f2c8a167436f6d706f736582a16f496e66696e6974654d6972726f7273a163463332fa3f4e41c8a167436f6d706f736582a16641726374616ea16454696d6582fa3dc7acedfa3f76784ca16353696ea163463332fa3f62c45a a263736466a169536d6f6f74684d696e82a167436f6d706f736583a167436f6d706f736582a16353696ea163463332fa3f0cf78ea166526f7461746583a163463332fa3f1a98baa163463332fa3f51c216a163463332fa3f70188aa16443756265a16454696d6582fa3d12c20efa3f7aa514684964656e74697479a167436f6d706f736583a166526f7461746583a163463332fa3e7c36f8a163463332fa3e13dac8a163463332fa3f5f7a24a167436f6d706f736583a16353696ea163463332fa3f2b95bca1634d697883a166537068657265a163463332fa3f50ea86a166537068657265a163463332fa3f6af350a163463332fa3f4a1b6a684964656e74697479684964656e746974796e636f6c6f725f66756e6374696f6ea167436f6d706f736582a167436f6d706f736582a166526f7461746583a16454696d6582fa3cafe358fa3f27e6e6a163463332fa3d5c6fc0a163463332fa3eef1c50a16353696ea163463332fa3f7f60f8a167436f6d706f736582a166526f7461746583a163463332fa3f594124a163463332fa3f176438a16454696d6582fa3a355d00fa3e35c550a166526f7461746583a16454696d6582fa3d94d98dfa3f64c122a163463332fa3cdbef00a163463332fa3f39d206 +a263736466a167436f6d706f73658366576962626c79a169536d6f6f74684d696e82a1634d696e82a168426f784672616d65a26473697a65a16454696d6582fa3e74cf22fa3eb9a90c69746869636b6e657373a16454696d6582faba35ebcdfa3e0973aba168547269507269736d82a16454696d6582fa3d516ee6fa3e90aa6ca16454696d6582fabdafc090fa3ef2dd0ca167436f6d706f736583a166526f7461746583a16454696d6582fa3d909ef3fa3f4b6a9ea16454696d6582fabb9a1e00fa3e820ce8a16454696d6582fa3d892cc1fa3ed8de9ca168426f784672616d65a26473697a65a16454696d6582fabe89e2f0fa3fdbba3669746869636b6e657373a16454696d6582fabc87af29fa3e032878684964656e74697479684964656e746974796e636f6c6f725f66756e6374696f6ea167436f6d706f73658266576962626c79a167436f6d706f736582a167436f6d706f736582a16353696ea16454696d6582fabb6722c0fa3e87035ca16f496e66696e6974654d6972726f7273a16454696d6582fabb55b4c0fa3ef9958ca167436f6d706f736582a1695472616e736c61746583a16454696d6582fabc43ded0fa3e519a88a16454696d6582fabcda280cfa3e66f8b0a16454696d6582fa3d55dc4efa3ec85c2466576962626c79 */ // LICENSE: i'm not gonna sue you for "copyright infringement". go wild. @@ -148,7 +152,6 @@ impl Programs { let source_main = include_str!("fshader_main.glsl"); let source_test = include_str!("fshader_test.glsl"); let source_common = include_str!("fshader_common.glsl"); - println!("{:?}",scene.sdf); let mut sdf = String::new(); let mut get_color = String::new(); @@ -570,6 +573,10 @@ impl State { window.clear_screen(win::ColorF32::BLACK); window.use_program(&self.programs.main); window.uniform1f("u_aspect_ratio", window.aspect_ratio()); + { + let (w,h) = window.size(); + window.uniform2f("u_screen_size", w as f32, h as f32); + } window.uniform1f("u_time", view.time as f32); window.uniform1f( "u_fov", |