Change view frustum or model clipping settings?

Hi there,

I am a fan of the quite popular player resizer. However, I am running into issues when making players smaller. Short and quick. In normal size we have shit situation:

http://l0nk.org/gm_construct0031.jpg[/media]
When switching to first person mode:
[media]http://l0nk.org/gm_construct0032.jpg[/media]

Well nothing unexpected… I am walking against a wall… so I see wall bricks. Now I make myself significantly smaller:
[media]http://l0nk.org/gm_construct0033.jpg[/media]
Judging the side screenshot I should still see the wall, however in first person I see:
[media]http://l0nk.org/gm_construct0034.jpg

Notice: parts of the wall are rendered in the upper screen area!

Now, I wonder…
As the source engine internally has view frustum settings (see http://en.wikipedia.org/wiki/View_frustum ) I wonder if there is a way to change their behavior? So that the objects which are closer to the near plane still get rendered and not clipped.

Does anyone of you know of a LUA solution for this (I tried much CalcView stuff like simple v:SetRenderBounds(Vector(0,0,0),Vector(10000,10000,10000)) for all entities and such) which works without actually writing a new entity class (in that example a wall is affected… in reality everything including map stuff is affected which can be hardly be adjusted by adding new classes. Or maybe a console variable I miss?

I do have gmcl_renderx and I would happily use it if it could solve the given problem!

Thank you!

Well Calcview stuff and zoom back?

Thanks I also had the idea… but that’s again a partial solution… because if you stand next to wall - not looking on it but walking parallel and close… like imagine the wall is to your right then if you set the camera a little back: while you can crash into walls/against ragdolls and still be able to see the wall texture it wouldn’t work if you walk next to a wall… or if you’d build your own “tiny labyrinth”.

Thanks for the idea, though, I had it before… my implementation was messy but showed that issue pretty early :frowning:

What? If you do a trace backwards it does give you the HitPoint on the wall and not IN!

Well, you are correct… but if I understand the view frustum correctly… my Hit Point is never in the wall… the problem is to my understanding the following:

http://l0nk.org/fov2.PNG[/media]

The blue lines describe my field of view (90° angle). The red point is my actual model - and the black bar is used to describe a wall. The green area is the near area in the view frustum which is not rendered. Now if I used CalcView to change my camera/eye position a little far more to the back (more to the bottom in the picture) you are correct. I’ll move the near plane (green area) outside of the wall making it visible again. This would also work in the above example. (Again see http://en.wikipedia.org/wiki/View_frustum )

But now for another example:

[media]http://l0nk.org/gm_construct0035.jpg[/media]
Now the player model is between two walls and facing forward (to the exit). In first person mode I see:

[media]http://l0nk.org/gm_construct0036.jpg[/media]
Now you see: left and right… parts of the wall are cut out.
(notice about the above screenshot: I used the camera STooL to zoom in above)

Now well… if I’d use CalcView to zoom back this time:
[media]http://l0nk.org/fov.png

If I moved down the camera/eye position to the bottom of the picture… I’d still have the same problem. And that’s exactly what happened in my test (sure, narrowing the FOV would work here but that would mean the “ultimate” solution would be a) change FOV and b) move back camera together, which kinda destroys most of the viewport).

Or maybe you mean something totally different. Which part of the CalcView part am I supposed to change? The only things I could change would be origin and fov there and both wouldn’t be the correct solution imo (angles are obviously incorrect).

Well yes when in between 2 Walls it wouldnt work as you cant do aynthing anyway! But for only 1 wall it should be enough!