• Create Account

3D for ISO

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

6 replies to this topic

#1 Anonymous Poster_Anonymous Poster_*   Guests

Likes

Posted 18 August 1999 - 05:58 PM

This post is in the Iso section but it also files under graphics programming so....

How is it possible to use 3D to render a isometric world correctly when perspective always messes things up (such worlds as Alpha Centauri and Railroad Tycoon 2)?

#2Shinkage  Members

595
Like
Likes
Like

Posted 17 August 1999 - 12:51 PM

If you're making your own 3D rendering engine there's no reason you have to make it use a perspective projection. You could just as easily (actually more easily) make it use orthagonal projection.

#3 Anonymous Poster_Anonymous Poster_*   Guests

Likes

Posted 17 August 1999 - 03:55 PM

uh...orthogonal perspective?

#4LeeIsMe  Members

122
Like
Likes
Like

Posted 17 August 1999 - 04:21 PM

usually to show perspective you divide the x and y by the z coordinate. What you want is just to throw out the z so far away things are just as big as nearby things.

#5 Anonymous Poster_Anonymous Poster_*   Guests

Likes

Posted 17 August 1999 - 05:31 PM

Could someone show a formula for calculating a matrix for an orthogonal projection? I've looked everywhere and keep on coming up with map projections =) Thanks...

#6Shinkage  Members

595
Like
Likes
Like

Posted 18 August 1999 - 11:06 AM

Sorry, typo.

#7msn12b  Members

390
Like
Likes
Like

Posted 18 August 1999 - 05:58 PM

From the OpenGL docs [with minor modifications]:

The orthogonal matrix corresponds to:

a 0 0 tx
0 b 0 ty
0 0 c tz
0 0 0 1

where

a = 2/( right - left )
b = 2/( top - bottom )
c = -2/( far - near )
tx = -(right+left)/(right-left)
ty = -(top+bottom)/(top-bottom)
tz = -(far+near)/(far-near)

Note: OpenGL uses the right hand convention and a column-major matrix format.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.