skywolf829 / GSTK

Gaussian Splatting toolkit application. One stop shop for preprocessing your dataset, training your model with human-in-the-loop training, and editing saved GSplat PLY files.
MIT License
4 stars 1 forks source link

Main viewing window #8

Closed skywolf829 closed 7 months ago

skywolf829 commented 7 months ago

The frontend should have a primary viewing window to view the rendered GS model. Interacting in this window (mouse, WSAD, etc) should move a viewing camera in the backend, which is used to render the model.

Requirements

skywolf829 commented 7 months ago

Created a Render Window window that is created by default with size 400x400. Dearpygui uses a texture system for drawing images to a window, but resizing the texture is not supported. Instead, I allocate a large texture (2000x2000) which is the maximal size for any rendered images. When new render images arrive from the backend, i overwrite just the top left corner of the texture.

On window resize, adjusts how much of the texture is displayed to screen with a uv_max = (x,y) maximum coordinate value, scaling based on width/2000, height/2000 (since 2000 is the size i set the texture to). When the mouse is released from resizing, computation takes place for updating texture.

Larger texture could be supported, but may not be necessary.

skywolf829 commented 7 months ago

Still need to check refresh rate to make sure it can handle 200+ fps

skywolf829 commented 7 months ago

Frontend can handle very high FPS, no worries about receiving high framerate incoming. Likely will be networking bottleneck in the end.