glfw: learned
geomery shader: learned
rendering of lines that fade with length fully on the GPU: achieved
wheeee!
Discussion
glfw: learned
geomery shader: learned
rendering of lines that fade with length fully on the GPU: achieved
wheeee!
heck yeah, from 100% CPU usage down to just 12%. now I just need to draw the rest of the fucking owl
@slyka I'm not sure what a vector scope plot does but this is real pretty!
@jamey it's a visualisation of the chroma component of a composite video signal, rendered in the complex plane. The angle specifies the hue, the distance from the center the saturation. Each of the bright spots is a test field of a specific color in a TV test pattern. by comparing that plot to a reference you can make sure your color decoding works right
@slyka oh, that's fascinating! I love learning things about signal processing, thanks for explaining 😊
also, having just done my first shader programming recently, I'm enjoying that you're sharing your results
@jamey yeah, I'm getting back into shader programming for the first time in ages right now, the last time I touched low level openGL stuff geometry shaders were not even a thing yet I think, so it's exciting to have new toys to play with. it's really cool what you can do with them and I can already see a whole bunch of ways I can use them to improve my virtual analogue television thing
@slyka the last time I touched OpenGL, programmable shaders of any kind were not a thing, so jumping ahead to WebGPU/Vulkan has been quite a leap for me 😂
I worked out how to use compute shaders to propagate transforms down a scene graph/tree in a number of steps that's logarithmic in the depth of the tree, and how to use fragment shaders to make flat squares look like spheres without needing to pick a tesselation scale, and then I got stuck on some math. a fun little experiment, anyway
@jamey oh yeah, I thought about learning vulcan but it just seems like soooo much setup and boilerplate. At least in openGL is still somewhat manageable to just set up in a couple dozen lines of code and get something on the screen
@slyka I've been using wgpu, the Rust implementation of the WebGPU API, which afaict closely resembles Vulkan, and… yeah, it's a lot of setup. I did start by copy-pasting from a tutorial. but it started seeming sensible to me surprisingly quickly, and I've been able to build abstractions that make sense to me and fit the needs of my project. and I appreciate that there's a lot of support for telling me exactly what I got wrong, which I've done plenty of times. except I have to be very careful about memory layouts for data shared between shaders and the host, and I wish there were any tools for checking that for me
@jamey yeah, some of the flexibility that comes with these more modern APIs seems really cool, but like… the rendering was not supposed to be the main point of the project, so I'm trying to kinda keep it as simple as possible so I can focus on the more important stuff like the actual video decoding. but I'm starting to run into the limits of what raylib can do, so I feel like bare openGL is a nice compromise. I'll definitely look into vulkan at some point though