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