Back to the Vavoom Forum Archives


Forum

Source Code Editing Help

Tue, 06 Sep 2011 21:32:29

Lix

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.
Wed, 07 Sep 2011 01:24:32

Firebrand

Merged your post, this should work properly now <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->. [quote="Lix":19icvnnb]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 <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->. [quote="Lix":19icvnnb]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.
Sat, 17 Sep 2011 00:29:12

Lix

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.
Sat, 17 Sep 2011 14:35:45

Firebrand

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 <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->.
Sat, 24 Sep 2011 21:15:50

Lix

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? [url:q4g0z431]http://www.songho.ca/opengl/gl_vbo.html [url:q4g0z431]http://www.songho.ca/opengl/gl_vertexarray.html
Mon, 26 Sep 2011 11:54:44

Firebrand

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.

Back to the Vavoom Forum Archives