[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - Doom 3 engine release and game code

Doom 3 engine release and game code

Discuss programming topics for any language, any source base. If it is programming related but doesn't fit in one of the below categories, it goes here.

Moderator: InsideQC Admins

Re: Doom 3 engine release and game code

Postby Spike » Mon Jun 18, 2012 7:26 pm

not really looked at it, so no.
.
Spike
 
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: Doom 3 engine release and game code

Postby revelator » Mon Jun 18, 2012 8:03 pm

Its quite ok though some parts may seem a bit bloated but in general it works as it should.
D3 has its own physics code so might be easier than ODE but i cant say... got code for a version with glsl renderer which works quite ok though it cannot do stuff in the material shaders yet. If someone adds
the remaining code (not a ton of work but i dont dare touch anything else after i got it working lol) you can use it with more modern shading techniques.
Theres a hexen2 total port out there which looks very promissing, maybe something to look at for clues ?
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Doom 3 engine release and game code

Postby motorsep » Mon Jun 18, 2012 11:05 pm

I have my reservations about GLSL backend. It's been 5 month and it seems all projects are in a coma. Plus Doom 3 shipped with ARB shaders, it's guaranteed to work. Unless really skilled programmer will get to GLSL backend and finish it, and then test it through, I wouldn't trust it for production.

What modern techniques Doom 3 can't handle ?

Hexen mod using stock Doom 3. There is nothing different about their rendering. Or is there? But I will look into their scripting ofc.
motorsep
 
Posts: 231
Joined: Wed Aug 02, 2006 11:46 pm
Location: Texas, USA

Re: Doom 3 engine release and game code

Postby revelator » Tue Jun 19, 2012 5:33 am

Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Doom 3 engine release and game code

Postby motorsep » Tue Jun 19, 2012 6:23 am

Ahh, you are that guy they talk about on #iodoom3 :D Cool stuff. What's stopping you from hooking up GLSL backport to material system ? (and why is it needed)

Also, I am trying to understand what can be done with scripting without messing with C++ game code? And where to get documentation for C++ code of Doom 3 to be able to figure out how to add new gameplay elements?
motorsep
 
Posts: 231
Joined: Wed Aug 02, 2006 11:46 pm
Location: Texas, USA

Re: Doom 3 engine release and game code

Postby revelator » Tue Jun 19, 2012 6:39 am

Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Doom 3 engine release and game code

Postby revelator » Tue Jun 19, 2012 6:45 am

shot from the hexen mod with glsl

Image

shot from the in hell mod with glsl

Image
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Doom 3 engine release and game code

Postby motorsep » Tue Jun 19, 2012 6:48 am

Oh man, I have no clue about coding :) (besides basic QuakeC stuff)

Btw, I don't know why people care for SSAO.. It's slow and doesn't add much to the game.

I am looking for someone who can make NPR ARB shader instead (ink outlines are not possible in Doom 3 as there is no way to access depth buffer, so I guess I can live with NPR surface shading / lighting only). I am after Vakyria Chrinicles / Prince of Persia 2008 / Ghost in the Shell look. Would you be able to create something like that?
motorsep
 
Posts: 231
Joined: Wed Aug 02, 2006 11:46 pm
Location: Texas, USA

Re: Doom 3 engine release and game code

Postby revelator » Tue Jun 19, 2012 7:09 am

should be possible if i can finish the glsl backend but im also learning so might take me a while :)
biggest thing on the todo is getting the material shader parser working as without it its impossible atleast with glsl (the glsl backend only does the basic render and you cannot mix arb2 with glsl unfortunatly).
the arb2 backend should be able to do it though.

ssao has the same problem cannot access the depth buffer though it might be possible to fix that now that the source is released.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Doom 3 engine release and game code

Postby revelator » Tue Jun 19, 2012 9:24 am

an outline or cellshading mod for doom3 can be downloaded from here :) http://doom3.filefront.com/file/Rotosco ... 4#Download

an upcomming backend for glsl in the works and an explanation why the arb2 backend is a problem here -> http://www.phoronix.com/scan.php?page=n ... px=MTA5MTI
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Doom 3 engine release and game code

Postby motorsep » Tue Jun 19, 2012 3:42 pm

There is no clear indication to why GLSL has to be implemented. I bet rewriting ARB shaders to replace the original ones would be way less work.

That outline and cel shading is exactly what I don't want - it look bad :)

My point is that ARB backend just works. It's been tested for years and that means you have stable platform for the development already. Doom 3 won't become next CryEngine so I don't really understand why people are after more advanced rendering features. Anyhow, still wondering if you could create ARB shaders for manga looks :)
motorsep
 
Posts: 231
Joined: Wed Aug 02, 2006 11:46 pm
Location: Texas, USA

Re: Doom 3 engine release and game code

Postby mh » Tue Jun 19, 2012 5:31 pm

What's really needed is a translator from ARB to GLSL so that it can handle any arbitrary material shaders. Otherwise you'd need to flip between the two different types of shader at runtime, which is likely supported OK but I have no idea how well it would run.

Such a translator should be easy enough to write - you just take an ARB instruction, grab it's params and generate a line of GLSL. Buffer up program.env/program.local and vertex.attrib values used while doing so, then pre-pend them as uniforms and attributes. output.whatever in the VS stage and input.whatever in the FS stage become attributes for passing between the shaders, output.whatever in the FS stage is your final output. Mostly code-grinding.

ARB shaders are not difficult to write but are sadly limited. You've got a limited amount of program.env and program.local slots (some drivers may extend them in line with more modern hardware capabilities), you can't use modern features such as branching and texture arrays (the latter in particular are great for saving on state changes - you could see all textures used for a Doom 3 material going into a single texture array), and a modern implementation of the renderer would use a geometry shader and transform feedback for generating shadow volumes instead of doing so on the CPU - again, more performance but not possible with ARB shaders.

You can do instancing with ARB shaders but you don't have access to gl_VertexID/gl_InstanceID which can come in really handy at times (I use the D3D11 variants in DirectQ for a few things in the particle system).

Otherwise it's more instructions and more generalised shading capabilities - such as vertex texture fetch, for example, which is also really really useful.
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Re: Doom 3 engine release and game code

Postby motorsep » Tue Jun 19, 2012 5:53 pm

Well, the question is what is in it for a small indie developer :) In other words, if Doom 3 runs on most of the hardware (it runs pretty fast on my old PC), and the developer isn't going for CE3 / UDK features, is it worth waiting for GLSL backend being completed?

Personally I need anime / manga look for one of my games. And since there is no way to access depth buffer, nice inking isn't going to happened with neither ARB nor GLSL backend.

mh, do you have a theory on why ARB to GLSL translator hasn't been implemented yet?
motorsep
 
Posts: 231
Joined: Wed Aug 02, 2006 11:46 pm
Location: Texas, USA

Re: Doom 3 engine release and game code

Postby revelator » Tue Jun 19, 2012 11:25 pm

the cell shader could probably be done in code instead of in shaders but then you would need a modded engine.
the cell shading script i posted a link to uses a few tricks to get around the depth buffer problem so might work, only way to know is test it out :)
as for arb shading most of the problem is that you cannot use id's shaders as a template (copyright) so would have to write them from scratch.
if you can then theres no problem in that regard but the restrictions of what you can do with arb shaders might be a problem.

an arb to glsl translator would indeed be nice :)
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Doom 3 engine release and game code

Postby motorsep » Tue Jun 19, 2012 11:30 pm

I already have re-written ARB shaders (someone skilled at writing those did it, not me :) ) that are compatible with Doom 3 (math part of them is about the same as it's just math, it can't really be much different).
motorsep
 
Posts: 231
Joined: Wed Aug 02, 2006 11:46 pm
Location: Texas, USA

PreviousNext

Return to General Programming

Who is online

Users browsing this forum: No registered users and 1 guest