#what framework should i use
106 messages · Page 1 of 1 (latest)
When your question is answered use !solved or the button below to mark the question as resolved.
Remember to ask specific questions, provide necessary details, and reduce your question to its simplest form. For tips on how to ask a good question use !howto ask.
opengl for sure
its kinda janky but its much simpler to work with than like
vulkan
vulkan is if you desire pain and want to spent 8 months on a simpler raster engine
I would argue against using OpenGL. It's a really poorly designed API and doesn't really teach you how the GPU works
People really just parrot this without using anything past Vulkan 1.0
Vulkan 1.3+ is perfectly fine. You can get a textured cube up in a weekend
<- has spent 8 months making a raster engine
8 MONTHS?????
ok thats not really fair
Okay? I've spent plenty of time working on raster and ray tracing and 99% of my effort is not in Vulkan
i guess my point is that vulkan is many times more complicated than opengl
BUT
as with everything, it depends on ur goals
the logic flow is much better, it's only the huge number of options per configurable structure that is difficult to understand (takes a lot of trial and error), and also descriptor sets suck
if you want to learn really nitty gritty gpu stuff then vulkan is ur bestie
if you dont then honestly stick with raylib theres nothing wrong with it
Also, OpenGL and Vulkan aren't frameworks. They're APIs to low level GPU functions
ok
1.3+ makes it a lot nicer (bindless, BDA, descriptor buffers, etc)
i'll watch a few vulkan tutorials to see what it's like
no read something like howtovulkan
yes I followed sacha williams' howtovulkan 2026 and it felt very different from vulkan-tutorial's legacy procedure
k
if all youve done is raylib vulkan will be a massive step up
ive done raylib and sdl
I went from sfml to opengl to vulkan
this is my personal opinion, but have you heard of SDLGPU?
i really dont like sdl though
is that just regular sdl or a different thing
SDLGPU or WebGPU are better stepping stones than OpenGL is these days
it's part of SDL3
opengl is not perfect but it did help me as a atepping stone and learnopengl was a great resource
i hate sdl keywords like its so different from all the other ones
but dragons probably right theres better options
LearnOpenGL is wrong about quite a bit, unfortunately
i cant personally say
i already know a bit of opengl like i made this (gimme a sec to forward it)
nvm i cant forward it here
it is a nice abstraction that very nicely teaches you the general logic flow of all modern APIs. I used it when I struggled to understand pretty much anything about vulkan, as I couldn't see the bigger picture. SDLGPU will show you the bigger picture, albeit in a simpler form that is very useful still
having gone down this route I cant say I highly recommend it
learning vulkan is only for those who desire pain
I can send you the SDLGPU tutorial I followed to get me started
ok
here you go
why does the link look so fishy
either way, it shows you how to use uniforms, upload your own vertex buffers and get the general logic loop going
thx
have you used glsl
certainly right
I was dumb and stuck with glsl when I moved away from opengl and I wish I switched to hlsl sooner
glsl is like opengl just kinda antiquated
is there a good PBR source you can send?
you can also look into slang but I think thats much less used and I havent played with it
Do you care if it's for a specific API or not?
nope, I can convert it as long as I can understand the logic
that picture is a render?
looks like it
thank you
np
Glsl easy dawg
GLSL is "easy" when your shaders are trivial. It doesn't really scale to complex shaders too well, ime
It basically forces you to use globals for a lot of stuff
(i.e. you can't pass around buffers, images, etc)
WhT would you need complex shades 4 just have a class for drawing stuff and pass it there
A full-blown PBR pipeline isn't trivial, especially when you start doing IBL and some fancier bindless techniques for descriptor management
Languages like HLSL and Slang are easier to modularize out of the box
what would you need complex shaders for? r u joking?
i dont pass most my stuff in the shader
i pass it into my game class which then does most the hard lifting
i mean if ur doing a 2D game u probably dont need super complex shading
but then why are you trying to go deeper into GP with that
I am curious, can you elaborate?
what do you mean by game class doing the hard lifting?
Only things I pass in the shader is color(obv) a mat4 for view, a mat4 for projection, a model mat4, color, texcoords, obviously vertices and then transparency
if ur interested in learning GP ur probably going to want to write complex shaders
if ur goal is a game id say dont fix what aint broke
theres also more to shaders than passing stuff in
this is just the bare minimum for 3D and you're missing the normals and normal matrix too
and optionally tangets and bitangents, though you could calculate those in the fragment/pixel shader
I usually do 2d that's what I do for 2d but when I do 3d I add more
you need projection for 2D?
shaders also include, yk, shading
which can be very simple and very complex
so the answer to "why would I need complex shaders" is "when you want complex shading"
the choice of using hlsl is not just about complexity either its just a better tool for the job if ur not using opengl
Quick example: I'm currently working on implementing the OpenPBR specification, and I would not want to do this in GLSL 😅
you do with asperite and certain texture makers or it wont show up properly
???
Yeah, there's some use for orthographic projections in 2D