clipping plane issues?

Started by
1 comment, last by 3TATUK2 10 years, 1 month ago

I'm having problems understanding/getting the hang of some basic concepts. My program works ok so far except a two things. I'll try to explain what happens:

If I start the object at 0,0,0 i can't see the object. As I move the camera in the -z direction the object becomes visible and things seem to work fine. This makes sense to me a bit because my perspective has the clip plane at 0.1 to 100.0. The object starts out at 0 which is behind 0.1.

It seems no matter where I draw my object it's 0.1 from being clipped. I've tried doing the translations via the model matrix and the view matrix and the results are the same.

My other problem is that if I move forward once then move back once it crashes with this error:

main: /usr/include/glm/detail/func_exponential.inl:149: genType glm::sqrt(const genType&) [with genType = float]: Assertion `x >= genType(0)' failed.
Aborted (core dumped)

Advertisement

Post some code. For one thing, it is hard enough to debug 3D graphics when you have the code. Without the code, good luck.

Another thing posting code does is forces you to boil your problem down to a simple example. 9 times out of 10, doing this will cause you to find the problem before you even get the code posted.

But even if you do figure it out, post the code anyway. This is good for everyone in the future that has the same problem.

I think, therefore I am. I think? - "George Carlin"
My Website: Indie Game Programming

My Twitter: https://twitter.com/indieprogram

My Book: http://amzn.com/1305076532

You may possibly be slightly confused about Z direction orientation / terminology.

For example, if your camera is at, say, (0,0,-2) ... And you have one object "A" at (0,0,0), and one object "B" at (0,0,0.1)... then "A" will actually be "in front of" "B". Meaning, "A" will be BETWEEN "B" and the camera. So I'm speaking from a camera perspective here.

And more importantly, you're not really including enough information to describe your actual problem correctly.

"It seems no matter where I draw my object it's 0.1 from being clipped." - That's all you say that seems it may be slightly relevant for anyone to understand what's going on.

But is worded a little abiguously. Okay - so you're rendering your object at different positions. That much is clear.

And what about your camera? Are you leaving it at (0,0,0) ? Are you using GLSL? You mentioned model/view but no projection matrix ?

Also, that GLM thing. I've seen reports of GLM being stupid like that before. Something to do with either a value being zero (even though sqrt(0) should be perfectly valid) or more obviously would be if you were feeding a negative value into sqrt, that would obviously be invalid.

But, as Glass_Knife said, you have to show your line of code related to that. I'm guessing you're not calling sqrt directly, but GLM uses it inside some other function. Possibly like rotate or something. Basically it seems like you probably have to check explicitly for a zero value and act accordingly.

This topic is closed to new replies.

Advertisement