Page 1 of 1

Hardware shader programming?

Posted: Sun Oct 23, 2011 6:06
by Major Cooke
I've seen the code behind the hardware shaders and while I admit it's impressive, I can't help but get the thought that it's quite a lot harder to understand. I've looked at the resource 'book' on the zdoom wiki and I've been searching around for better examples of how to make shaders and what their overall limits are.

I know for a fact I'm a complete and total noob at this kind of stuff, so my question is, does anyone know of any directions I should take before focusing on shaders? If I am ready to attempt handling shaders, what all is there that I should know for things like this example: http://zdoom.org/wiki/GLDEFS#Hardware_shaders ?

Re: Hardware shader programming?

Posted: Tue Oct 25, 2011 13:09
by ibm5155
Well, at least for some nice shadows graf could implent the real lights/shadows from vavoom to gzdoom, if you don't like it or can't run you just select some option like "Light/Shadow render" from Advanced to Simple =D

Graf, I'm going to a university and i'll learn about computer cience, with this, i'll nearn something that i could help gzdoom in something (like render, some new things...)?

Re: Hardware shader programming?

Posted: Wed Oct 26, 2011 15:55
by Nash
Good luck ibm5155... I really think the renderer needs some modern effects. Nothing too fancy. Just basic stuff; vertex model lighting, specular maps, smooth model alpha, better triangle culling... I mean, this stuff has been around in game engines that date as far back as 1999 (Half-Life, Quake 3)...

Hopefully you'll be able to contribute...

Re: Hardware shader programming?

Posted: Wed Oct 26, 2011 16:00
by Graf Zahl
Nash wrote: I mean, this stuff has been around in game engines that date as far back as 1999 (Half-Life, Quake 3)...

Hopefully you'll be able to contribute...

But these engines were tailored around such things. Doom wasn't and it's hard enough to render the completely inadequate data in 3D.

Re: Hardware shader programming?

Posted: Thu Oct 27, 2011 6:21
by Nash
I understand that. If it's easy, it would've already been in, right? :) That's fine... I just hope that people like ibm5155 or Geometer would come along and make contributions to the renderer.

Re: Hardware shader programming?

Posted: Thu Oct 27, 2011 17:07
by ibm5155
Wait a little Nash, I'll only start in Computer Cience next year, so nothing for now (only modding).
The only one that could "copy" some render things from vavoom should be Graf Zahl or Geometer could do this (i don't remember the name of the vavoom creator, but i remember he allowed to use somethings like the new effects (real time lights...) and put in gzdoom.

Re: Hardware shader programming?

Posted: Thu Nov 03, 2011 14:58
by Major Cooke
Hey, I'm getting into computer science as well! Though I think I'll be starting off with Java.

Anyway, I'm still trying to find a good way to work on this but I haven't had any luck so far...

Re: Hardware shader programming?

Posted: Thu Nov 03, 2011 18:54
by Enjay
I wonder why many of these courses are called "computer science". From what I can tell, very few of them are scientific courses (ie they have little, if anything, to do with research, the scientific method and so on). I think it would be more accurate to call most of them computer technology rather than computer science. That's not to try and devalue the course, just be accurate. If a course is called "science" then it should be a scientific course. No?

Re: Hardware shader programming?

Posted: Thu Nov 03, 2011 20:01
by Rex Claussen
Enjay wrote:I wonder why many of these courses are called "computer science". From what I can tell, very few of them are scientific courses (ie they have little, if anything, to do with research, the scientific method and so on). I think it would be more accurate to call most of them computer technology rather than computer science.
The "science" of computers, of course, lies in the way electrical current is routed through switches (both hardware and software). But there are other aspects of science involved, such as process theory, heat dissipation, and voltage regulation. A friend of mine got a Ph. D in VLSI (Very Large Scale Integrated) Circuitry, which required him to delve into logic, advanced circuit theory, thermodynamics, and electronics, all of which are sciences. [I took some of the same courses, though not at an advanced level, when I was working towards my engineering degree.]

But, yes, what you say about "computer science" nowadays mostly being about "computer technology" is true.

Staying on topic here, I agree that any help Graf gets can only improve GZDooM.

Re: Hardware shader programming?

Posted: Thu Nov 03, 2011 20:03
by Gez
Enjay wrote:I wonder why many of these courses are called "computer science".
I suppose they think "computer scientist" makes them sound smarter than "informatician".

Re: Hardware shader programming?

Posted: Wed Dec 14, 2011 17:49
by ibm5155
Hey Graf, I´ve found the Retribution Engine, it´s a free GPL engine and have nice features like shaders and lights, I test the performance of the engine in two hardares
1)Pentium III 1GHz, 384mb ram, ati radeon 7200 (works in high, but can´t show shaders and some lights effects)
2)Pentium III 1GHz, 1GB ram, nvidia FX5500 (works with all the effects in maximun with nice fps)
So, could you implement some of lights/shaders into gzdoom?

Retribution engine gameplay


Download Retribution engine source code

And a off question:Gzdoom is Graf Zahl Doom? (i think it was open Gl zdoom)

Re: Hardware shader programming?

Posted: Thu Dec 29, 2011 2:32
by Edward-san
ibm5155 wrote:Hey Graf, I´ve found the Retribution Engine, it´s a free GPL engine
it is an incompatible license, sadly :(

Re: Hardware shader programming?

Posted: Sun Jan 01, 2012 23:18
by ibm5155
now i read better the first question.

Graf, what does glsl in gzdoom, i didn´t saw noone using that.

I saw many places what it can do, so if he can do all that things(shader, metalic texture...) why i didn´t saw some project using that?

Re: Hardware shader programming?

Posted: Tue Jan 10, 2012 15:16
by milasudril
Edward-san wrote:
ibm5155 wrote:Hey Graf, I´ve found the Retribution Engine, it´s a free GPL engine
it is an incompatible license, sadly :(
As far as I know, the piece of code that is incompatible with GPL is the software renderer (which is based on the Build engine) and the FMODEX library.

Why do we still need the software renderer? When I create mods I frequently make use of 3d platforms in my construction of buildings with real roof. Therefore, I think the software renderer is not needed anymore.

The FMODEX library isn't needed either. It's nice with reverb but if all GPL-incompatible code is scraped it is possible to use fftw3 to use convolution reverbs.

Re: Hardware shader programming?

Posted: Tue Jan 10, 2012 15:23
by milasudril
Graf Zahl wrote:But these engines were tailored around such things. Doom wasn't and it's hard enough to render the completely inadequate data in 3D.
How much work would it require be able to load a ((G)Z)Doom map in ioquake3? Would a specialized nodebuilder do the work? After all, a such a map actually describes a 3d world.