pouët.net

how do i get started with opengl and shader coding?

category: code [glöplog]
Okay, so even you are assuming shit. That driver wasn't written for a fucking demo :)
added on the 2024-08-22 20:39:05 by superplek superplek
I'm not assuming that.
added on the 2024-08-22 22:46:09 by Sesse Sesse
Then what exactly - and I'm certainly not trying to incite a riot here - was your point to begin with? If it's that.. and, that is me assuming, being pragmatic towards the artistic side of things more then we used to be in the 90s for example, I'm 100% on board with what you're saying.
added on the 2024-08-24 02:29:41 by superplek superplek
My point was that your story about putting in a boatload of work (or in general, any “just get good”) was not in any way constructive advice for beginners who want to get started making demos; taking a way that is as low-resistance as possible is much more likely to get you somewhere. Unless you just wanted to brag, of course.
added on the 2024-08-24 13:15:11 by Sesse Sesse
Yeah, in my youth we walked ten kilometers to school uphill both ways n a freezing rain and liked it, and all that.

Also, back then starting was a lot easier. The amount of bullshit you had to go through to get to the interesting bits was way, way lower then than now.
added on the 2024-08-24 13:19:13 by Preacher Preacher
Quote:
The amount of bullshit you had to go through to get to the interesting bits was way, way lower then than now.

Is that really true though? Firing up an rendering context and an audio buffer is way easier with way more thorough resources available, compared to dealing with video/audio in DOS, unless you wanted to stick to mode 13h with no sound.
added on the 2024-08-24 13:24:38 by Gargaj Gargaj
Well, it depends: C64 used to boot into BASIC, and from there, you could start blinking your borders with a couple lines of code. (An assembler was, admittedly, not included, and the Internet wasn't invented yet, so it wasn't all exactly rosy.) Now we are in a 100+ message thread about just how to install an IDE and get the binary to link. So there are ups and downs :-)
added on the 2024-08-24 13:46:35 by Sesse Sesse
No, Sesse and Preacher are and always were lazy boys, Gargaj.
added on the 2024-08-24 13:46:38 by superplek superplek
Look Gargaj, end of the road, neither Preacher nor Sesse even came close to beating us in whatever the f*ck competition, and that's just the hobby part.

So boys, sit down, have your opinion, but also shut the hell up.
added on the 2024-08-24 13:47:44 by superplek superplek
Perhaps things like e.g. C64 BASIC interpreter are comparable to things like e.g. Shader Toy. You punch the code in, and it works on the fly. Zero boilerplate needed.
added on the 2024-08-24 14:25:07 by 4gentE 4gentE
Quote:
google and half a brain
i wrote a big part of a nv30 driver, what on ps3 later became libgcm

just apply yourself, dont be a fucking pussy
put the time in there are no easy ways out


if it was so simple, then explain why i'm here. i did that already and it didn't work out.
"Simple" is relative depending what you already know - demomaking is not harder than any other type of programming, but it does come with the same difficulties, and those difficulties also depend on your choices: If you just want to code a demo, that's not the same as wanting to be multiplatform at the same time or using a less mainstream / streamlined development environment - if you have experience with those and you just want to add to your already existing knowledge, then it's probably going to be no problem because you can focus entirely on that knowledge yo get, but if you don't, then you have to jump a lot more hoops right off the bat.
added on the 2024-08-24 20:37:01 by Gargaj Gargaj
Btw if you want the most barebones OpenGL init for Windows, you can go down to https://gist.github.com/mrtrizer/fc83d3210c4446d660b66fe5bce3def8 as absolute barebones.
added on the 2024-08-24 20:39:07 by Gargaj Gargaj
Quote:
Look Gargaj, end of the road, neither Preacher nor Sesse even came close to beating us in whatever the f*ck competition, and that's just the hobby part.

So boys, sit down, have your opinion, but also shut the hell up.


Did you forget about Scene Event 2003 already?
added on the 2024-08-25 13:38:23 by kusma kusma
Quote:
Is that really true though? Firing up an rendering context and an audio buffer is way easier with way more thorough resources available, compared to dealing with video/audio in DOS, unless you wanted to stick to mode 13h with no sound.


Sure. But back in the day you could be up and running with a (pirated) copy of Turbo Pascal and 15 lines of code you got from a freind. And for a beginner (and a lot of professional game developers), mode 13h was more than adequate. Audio is of course easier nowadays, but I think the complexity of modern graphics pipeline is exactly that - complexity. Those 15 lines got you a linear framebuffer that was easy to figure out, nowadays you need to get a context for stuff, load and compile and link your shaders (a whole separate programming language), figure out dependencies and libraries and so on. Of course, you get more out of it, but still. The hello world of graphics is a lot further.

I'm also thinking that better tools are not always better. You could make Turbo Pascal or Turbo C or Watcom compile a single example file in a minute even if you didn't know much about what you're doing. I've been doing development professionally for almost two decades and just recently set up VS 2022 on a machine for demo coding purposes. Just setting up the compiler, build options and editor preferences took me a lot longer than that and I did know what I am doing.
added on the 2024-08-25 17:24:34 by Preacher Preacher
Quote:
back in the day you could be up and running with a (pirated) copy of Turbo Pascal and 15 lines of code you got from a freind

But now there's Processing / P5JS and all that? I mean compare apples to apples here; sure, Turbo Pascal was easy, but there was a pretty hard limit on what it was able to do.
added on the 2024-08-25 18:00:50 by Gargaj Gargaj
Quote:
But back in the day you could be up and running with a (pirated) copy of Turbo Pascal and 15 lines of code you got from a freind.

While there's much to be said about the complexity of modern software, the comparison is a bit of a stretch. Of course things are simpler when you basically have no operating system and a RAMDAC for display hardware. Dealing with a modern GPU asynchronously in a multitasking environment can never be quite so simple.
added on the 2024-08-25 18:12:10 by absence absence
Quote:
But now there's Processing / P5JS and all that? I mean compare apples to apples here; sure, Turbo Pascal was easy, but there was a pretty hard limit on what it was able to do.

Well, sure. But back then there was LOGO and BASIC as well. Turbo Pascal was enough to do state of the art, basically. And of course the state of the art was much lower too.

Quote:
h. Of course things are simpler when you basically have no operating system and a RAMDAC for display hardware. Dealing with a modern GPU asynchronously in a multitasking environment can never be quite so simple.

That was kind of my point. Back then, if you wanted to get started with computer graphics or programming in general, the barrier of entry was so much lower. And personally I miss that a lot. I'm currently spending quite a bit of my little free time to make a demo thnig that will hide it all from me. And it's not easy at all.
added on the 2024-08-25 20:36:36 by Preacher Preacher
Quote:
Turbo Pascal was enough to do state of the art, basically.

It really wasn't though, with a 64k RAM limit.
added on the 2024-08-25 20:49:00 by Gargaj Gargaj
Quote:
Back then, if you wanted to get started with computer graphics or programming in general, the barrier of entry was so much lower. And personally I miss that a lot.

You're talking about a lower barrier of entry to using low-level interfaces. Unlike in 1990, there's no reason to do that unless you want to, and since you pine for simpler times, it sounds like you don't want to.
added on the 2024-08-25 21:26:45 by absence absence
Quote:
if you wanted to get started with computer graphics or programming in general, the barrier of entry was so much lower

The programming barrier of entry is basically non-existent right now - the amount of free software, tutorials, YouTube videos on the topic is in a wholly different universe compared to scouring your friend's new box of disks for a compiler. If anything - and I'll agree you there - it's the gargantuan set of options that's the problem, because that can be pretty overwhelming, and of course the evangelism is unavoidable, so it's hard to know where to get started if 100 people are saying 150 things.

Computer graphics is a bit trickier (and this is where we should make a distinction that "shader coding" is at best a minuscule part of computer graphics and at worst not even part of it since it falls much more likely under technical artistry), but even there, just search the web for any rendering technique's name and you'll find a dozen articles or explainers of what that thing does and how it works, not to mention OH MY GOD the tooling is SO much better - imagine having a D3D-debug layer / RenderDoc for GUS/VESA.

I'll fully also admit that D3D12 / Vulkan probably introduced a level of complexity that is unnecessary unless you're rendering something extremely (CPU) demanding, but then, OGL2 / D3D11 is still fine...?
added on the 2024-08-25 22:28:27 by Gargaj Gargaj
I think what Preacher and Sesse seem to be pointing to can be described to a degree by the old “Hello world”. It couldn’t be more trivial to tease the “Hello world” out of all 8-bitters. Even if you were a caveman. Today? Where does one even start? Watch a few hours of video turorials?
added on the 2024-08-25 22:41:41 by 4gentE 4gentE
Quote:
Where does one even start?

Quote:
it's the gargantuan set of options that's the problem

Once you've made a choice, it's usually not that bad, unless you want it to be by picking something low-level.
added on the 2024-08-25 22:57:59 by absence absence
Quote:
Quote:
Turbo Pascal was enough to do state of the art, basically.

It really wasn't though, with a 64k RAM limit.

Borland Pascal (and of course Watcom) did protected mode just fine, though. No RAM limit there.
added on the 2024-08-25 23:20:13 by sagacity sagacity
Quote:
If anything - and I'll agree you there - it's the gargantuan set of options that's the problem

Also that the top end is extremely far away. Unless you want to go into oldschool, it is basically impossible to impress people without putting in so many hours, and even then, you'll need a really talented art team to make your beloved engine shine. In the 80s, you could make a scroller, rip some music and call that a demo.
added on the 2024-08-25 23:53:35 by Sesse Sesse

login