Commit Graph

28 Commits (880c634be0e2a0ca944d3b8e079509e2141d94cb)

Author SHA1 Message Date
EmaMaker 50bc52a679 debug window: use wireframe from checkbox in rendering 2023-09-20 12:42:05 +02:00
EmaMaker 9d2d0c8772 debug window: populate with data 2023-09-20 12:42:05 +02:00
EmaMaker f526e9b152 create debug window with imgui 2023-09-20 12:42:05 +02:00
EmaMaker 3f61a6a753 renderer: screenshot by saving render texture to file 2023-09-20 12:37:32 +02:00
EmaMaker 00a4b8e1e2 renderer: properly handle framebuffer resizing 2023-09-20 12:37:32 +02:00
EmaMaker 1c0ee1315f renderer: render scene to a texture
And then render the texture onto a quad that fills the screen
The screen-filled quad upon which the texture is rendered must never be rendered in wireframe. Rendering in wireframe only makes sense when rendering the world on the texture
2023-09-20 12:37:32 +02:00
EmaMaker 1bea6c835c separate mesh and generation threads, with priority queues for input
Allows blockpicking while the world is generating, without hiccups
2023-07-30 12:17:51 +02:00
EmaMaker 381cd698c7 Initial tree generation
Still very slow because multiple noise evaluations are needed
2023-07-30 12:16:32 +02:00
EmaMaker 950c43b163 refactor chunk meshing routine 2023-07-19 12:56:55 +02:00
EmaMaker a7b4671517 toggle wireframe with F 2023-07-18 20:12:25 +02:00
EmaMaker 6113886117 multithreaded blockpicking 2023-05-26 23:03:18 +02:00
EmaMaker 78e3bc11e6 initial update and render with concurrent DS 2023-05-20 22:15:15 +02:00
EmaMaker 3daf994ac3 opengl: disable vsync
This way I can better watch how changes affect FPS/frame times, rather than have it capped at
60FPS/16.6ms
Does not introduce visible tearing.

The engine runs at about 170 FPS on my Tesla M40, and so does minecraft. It never goes past that, I think this is a
limitation of using prime offloading. Runs at 300FPS on average on the Radeon HD6850 to which I
normally offload the Tesla to
2023-04-10 00:45:25 +02:00
EmaMaker 1a4412c5b1 renderer: initial texture support via ArrayTextures
totally stolen textures from minecraft
2023-04-10 00:30:28 +02:00
EmaMaker 2b1991ff2b separate rendering in a dedicated file 2023-04-10 00:30:24 +02:00
EmaMaker 44b027c3e2 Blinn-Phong lighting 2023-03-27 21:10:45 +02:00
EmaMaker da6608c66a chunkmanager: only calculate update sphere indices at startup 2023-03-25 16:32:01 +01:00
EmaMaker 8584d2e974 general code cleanup 2023-03-25 16:28:12 +01:00
EmaMaker e609f4858b initial blockpicking 2023-03-23 14:25:34 +01:00
EmaMaker e69c58abd3 gracefully shut down secondary threads 2023-03-12 12:43:41 +01:00
EmaMaker 716056b8c5 experimental multithreaded generation and meshing 2023-03-03 21:33:11 +01:00
EmaMaker 2ec728897e main: print currently used GPU at the start 2023-02-23 19:07:35 +01:00
EmaMaker b600ef5214 memory: delete shader when terminating 2023-02-23 17:02:20 +01:00
EmaMaker 9f82a17bd2 chunkmesh: do not create shader for every object 2023-02-12 12:18:30 +01:00
emamaker 69c44e3609 enable faceculling
Doesn't give a massive improve in performance right now, but a nice one to have and was already made from the jme3 porting
2022-12-01 23:45:05 +01:00
EmaMaker 8116791dcf use hilbert curve instead of flatten array
Using valgrind heap memory tracker, this does not seem to bring any advantage on heap memory usage. To be tested more in depth
2022-12-01 23:44:47 +01:00
EmaMaker c8f429564c chunkmgr: properly dispose allocated chunk memory 2022-12-01 23:44:03 +01:00
EmaMaker 3a649836e5 initial commit
initial port of https::/git.emamaker/voxel-test-intervalmaps to c++ and opengl
2022-11-10 19:53:52 +01:00