Source Code Editing Help

Talk about editing and creation of Vavoom mods

Source Code Editing Help

Postby Lix » 06 Sep 2011 21:32

Hi, I'm making a project based on Vavoom's engine
I just have 2 things that I want to figure out how to code

1) 3D Floors - Setup both ways? I've looked in source code and edited Vavoom to invert the planes for me, but it doesn't work with sloped 3D floors, could someone help me out?

2) Reflection/Portals in the Advanced renderer
LOVE the new render with dynamic shadows, but reflections broken. Any plans to fix this? If not, could someone tell what needs fixing?

I really want to use Vavoom - It has a better OpenGL system with superior Quake style lighting, & the source code is much cleaner in comparison to most other Doom ports.
I would be extremely grateful to anyone who could help me make these things work.
Lix
 
Posts: 4
Joined: 06 Sep 2011 21:04

Re: Source Code Editing Help

Postby Firebrand » 07 Sep 2011 01:24

Merged your post, this should work properly now :).

Lix wrote:Hi, I'm making a project based on Vavoom's engine
I just have 2 things that I want to figure out how to code

1) 3D Floors - Setup both ways? I've looked in source code and edited Vavoom to invert the planes for me, but it doesn't work with sloped 3D floors, could someone help me out?

If you post the code changes you did, there's a better chance that we can see what the problem is and how to properly implement this for sloped 3d floors :).

Lix wrote:2) Reflection/Portals in the Advanced renderer
LOVE the new render with dynamic shadows, but reflections broken. Any plans to fix this? If not, could someone tell what needs fixing?

Well, I'm not completely sure of what's wrong with this, I'll have to check it out, definitely it would be cool to make it work, I can't give you a time estimate of when it might work properly, I'm really busy to work on the code.
User avatar
Firebrand
 
Posts: 1000
Joined: 11 Feb 2004 08:12
Location: Mexico

Re: Source Code Editing Help

Postby Lix » 17 Sep 2011 00:29

Ok, now for something absolutely crazy:


Would it possible to implement display lists or vertex buffer objects to the OpenGL renderer?
It's not really a suggestion for Vavoom, rather, I'm just looking for a way to speed levels up.

I'm making extremely huge outdoor levels with Doom, I know it's SO not designed for those types of levels, but I really want to know what the major slowdown is that prevents these kinds of levels from running smoothly.

Is making a ridiculously large open area with many sectors inside causing slow downs because of OpenGL or just because of the BSP system? I don't have a problem redoing the way the engine processes a map(even being as crazy to get rid of BSP entirely)


I've been modding the source of various ports for a while now, and I think I might be able to do something this crazy

I have an idea where to start, I'm just wondering if anyone has suggestions for how I should approach doing something like this.

I want to push the Doom engine all the way before I decide to switch to a different engine - I enjoy its room based mapping format.
Lix
 
Posts: 4
Joined: 06 Sep 2011 21:04

Re: Source Code Editing Help

Postby Firebrand » 17 Sep 2011 14:35

You can begin by looking at the renderer's different passes, the OpenGL advanced renderer makes many passes for rendering stuff like ambient light, dynamic lights, shadows, fog, etc. The light and shadow parts are located on r_adv_light.cpp, the rendering pass starts on the RenderLightBSPNode method for lights and replace light with "shadow" for shadows.

The next bottleneck I've found is when drawing models with many different lights, you can find the methods for drawing this on the r_adv_things.cpp file, I think that changing how models are rendered could improve performance, but we also need a couple of ways to make sure the game doesn't renders lights or shadows outside of the view, since this seems to be another cause of slowdowns for what I know. Hope that this helps you to start on this, if you need anymore help, just post here :).
User avatar
Firebrand
 
Posts: 1000
Joined: 11 Feb 2004 08:12
Location: Mexico

Re: Source Code Editing Help

Postby Lix » 24 Sep 2011 21:15

Do you think there would be any performance gain in either renderers if OpenGL Vertex Buffer Objects or OpenGL Vertex arrays were added?
Do you think it would be possible to implement such a thing to speed up geometry heavy maps?

http://www.songho.ca/opengl/gl_vbo.html

http://www.songho.ca/opengl/gl_vertexarray.html
Lix
 
Posts: 4
Joined: 06 Sep 2011 21:04

Re: Source Code Editing Help

Postby Firebrand » 26 Sep 2011 11:54

Theoretically, vertex buffers could be used to draw the maps on the advanced renderer, I'm not sure how substantial the performance gain would be, also, I'm not sure if all graphic cards could support the feature, of course, if implemented an option could be added to use or not use the feature.

As for how to implement it, an idea could be to fill the vertex buffer objects while the map is being set up, you could fill them with the normal coordinates for surfaces, then the drawing methods should be modified to bind the buffers and use them for drawing such surfaces, I think that this would only have to be done on the advanced renderer, the regular renderer is as fast as it can be IMO.
User avatar
Firebrand
 
Posts: 1000
Joined: 11 Feb 2004 08:12
Location: Mexico


Return to Editing

Who is online

Users browsing this forum: No registered users and 0 guests