Archived

This topic is now archived and is closed to further replies.

TraceCheck and Vectors

This topic is 5973 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi Chris and everyone. While working with BSP levels, i''ve noticed strange thing. If TraceCheck function detects no collision with given parameters, it writes last collision successful result in the Normal vector. For example, if i cast two rays and only 2nd collide with the wall, this result will be writen in 2nd ray Normal vector as well as in 1st ray Normal vector if there is no collision during future calls. It is can be avoided by backupping Normal vector before checking for collision, but it is quite annoying anyway. Chris, can you change this function so if there is no collision it do not change current vector ? And last, i do not see any Vector to Degrees converting function, it would be nice if you can do it. Or i just missed it ? -s. Eibon P.S. By the way, what about real-time shaddows and other light types in bsp using lightmaps ?

Share this post


Link to post
Share on other sites
Just rising the priority here since i still want to see the answer to my question.

And more, while using GtkRadiant to create the BSP levels, i got wrong Quake shaders support within PR in almost all cases, and absolutely no Mirrors support. I wonder, does this problems related to GtkRadiant only, or everyone gets them ?

-s. Eibon

Share this post


Link to post
Share on other sites
Are you using different normal vectors for each ray? If there is no collision you shouldn''t be using the normal because it will be invalid (ie TraceCheck didn''t fill it in).

The PR BSP engine doesn''t support all of the things in Q3, such as volumetric fog, mirrors, environment mapping on walls (ie metal levels), or vertex deformation (flags on walls).

Anyways you should be creating your own shaders using things that work in PR. Don''t use the shaders from Q3 or their textures because they belong to id software.


Share this post


Link to post
Share on other sites
I'm using 2 TraceChecks in the frame. 1st is then i try to find where i need to put the light so i can get flash light effect, in this case i don't really need a normal but i trace the ray until it hits the wall, and as a result normal vector is always changes. In 2nd case i use TraceCheck for Wall sticking and need to get the normal of the wall in front of view. The problem is that your TraceCheck change normal(since it is a pointer to vector structure) with the last collision successful result anytime if there is no collision. So i need to backup vector and restore it if no collision detected. This isn't fatal but quite annoying.

What about ID textures and shaders, yes i know that them is thier property, but i used them only for testing and get amazingly bad results(in readme file in PR simpleland demo you say that PR have FULL shaders support). However it would be nice if you tell your plans on improving BSP engine since it will allow better programm planning.

-s. Eibon



Edited by - Eibon on August 9, 2001 4:31:25 PM

Share this post


Link to post
Share on other sites