Most active commenters
  • YesBox(4)

←back to thread

241 points fschuett | 19 comments | | HN request time: 0.001s | source | bottom
1. pbohun ◴[] No.45664365[source]
What's cool about this is that computers are so fast that you could probably make a decent 2D game using only this software-rendered OpenGL 1.1 library.
replies(4): >>45664497 #>>45665580 #>>45666200 #>>45667100 #
2. YesBox ◴[] No.45664497[source]
Edit: I missed this was software rendered. I’m one gen-iteration ahead. Prob would still be possible to render my game cpu side provided I use the most efficient sprite depth ordering algorithm possible (my game is isometric pixel art like rollercoaster tycoon)

Ha! That’s what I’m stuck with for Metropolis 1998. I have to use the ancient OpenGL fixed function pipeline (thankfully I discovered an AB extension function in the gl.h file that allows addition fields to be passed to the GPU).

I’m using SFML for the graphics framework which I think is OpenGL 1.x

Game to show what’s possible: https://store.steampowered.com/app/2287430/Metropolis_1998/

replies(4): >>45665627 #>>45665896 #>>45669581 #>>45674095 #
3. pjmlp ◴[] No.45665580[source]
Software rendering is the future anyway, with the caveat that it is actually hardware accelerated, by making use of compute (GPGPU).
replies(1): >>45665659 #
4. dandersch ◴[] No.45665627[source]
> I have to use the ancient OpenGL fixed function pipeline

Why do you have to and do you also use parts of the old immediate-mode API?

replies(1): >>45668590 #
5. thekodols ◴[] No.45665659[source]
I'm out of the loop -- how so?
replies(2): >>45665689 #>>45665721 #
6. ◴[] No.45665689{3}[source]
7. pjmlp ◴[] No.45665721{3}[source]
One approach is using CUDA and SYCL, for example OTOY uses CUDA based rendering.

https://home.otoy.com/render/octane-render

Other is making use of mesh shaders, which you need a recent graphics card for it, still making its way across the ecosystem.

https://developer.nvidia.com/blog/introduction-turing-mesh-s...

Basically the idea is to throw away yet again the current set of execution pipelines, and have only two kinds of shaders, mesh shaders which are general purpose compute units that can be combined together, and task shaders which have the role to orchestrate the execution of mesh shaders.

So basically you can write graphics algorithms like in the software rendering days, with whatever approach one decides to do, without having to try to fit them into the traditional GPU pipeline, yet running on the graphics card instead of the GPU.

This is how approaches like Nanite came to be as well.

https://dev.epicgames.com/documentation/en-us/unreal-engine/...

replies(1): >>45674579 #
8. MrGilbert ◴[] No.45665896[source]
Sidenote: Can't wait for the release!
replies(1): >>45668573 #
9. bob1029 ◴[] No.45666200[source]
We had software rendered unreal tournament decades ago. Full 3d. It runs like a champ in 2023:

https://youtu.be/MGZQAH5J1OQ

replies(1): >>45667076 #
10. dmpk2k ◴[] No.45667076[source]
Imagine what it could do with modern SIMD and many cores. Won't come close to dGPU, but still...
replies(2): >>45670896 #>>45673331 #
11. mvx64 ◴[] No.45667100[source]
If you keep resolution low, manage your scene complexity carefully and commit to the art style, you can make reasonable 3D games that run even on 20 year old hardware. I did so as an experiment on my game [1] [2] and now that I can see that it works, I am working on a second, more "serious" and complete one. Computers are fast.

[1] https://news.ycombinator.com/item?id=45270981

[2] https://totenarctanz.itch.io/a-scavenging-trip

Really cool news about raylib. I will seriously consider using this.

12. YesBox ◴[] No.45668573{3}[source]
:) Thanks
13. YesBox ◴[] No.45668590{3}[source]
It's what SFML uses. Im unable to create my own framework for the time being. Im not using immediate-mode
14. klaussilveira ◴[] No.45669581[source]
Oh, man! This is really cool. Do you maintain a blog or a patreon that allows people to follow the progress on the project?

Any way I can buy you a beer?

replies(1): >>45671093 #
15. klaussilveira ◴[] No.45670896{3}[source]
Currently attempting to do that with original q1: https://github.com/klaussilveira/exp-quake/commit/c9b7cab515...
16. YesBox ◴[] No.45671093{3}[source]
Thanks! No blog or patreon. I use twitter, bluesky, and reddit to post updates [0]

It is possible to "pay what you'd like" on itch though :) [1]

The demo up there is in pre-alpha, but I push out a big update every 4-6 months.

[0] https://linktr.ee/yesboxstudios

[1] https://yesbox.itch.io/metropolis1998

17. NekkoDroid ◴[] No.45673331{3}[source]
Just run it on an EPYC 9965 and you have a not insignificant amount of cores for parallel computing.
18. pbohun ◴[] No.45674095[source]
Whoah! That's so cool!
19. Pannoniae ◴[] No.45674579{4}[source]
Straight facts, thank you:) but one small nitpick: mesh/task shading only replaces the vertex pipeline (VS/TS/GS), the pixel shader is still a thing afterwards...