• FEATURED

View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# Defining an arbitrary rectangle from a normal

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.

2 replies to this topic

### #1stateOfDaniel  Members

Posted 10 February 2013 - 07:35 PM

So I have been programming a top down zombie shooter and I made it in a city type area so I need to be able to generate buildings.  I've made a class that makes a rectangular prism based on an x, y, and z position and the length width and height of the building.  This has worked for now, but I added lighting to my shaders and need normals and texcoords and these buildings also always faced the same direction. so I wanted to make something more flexible.  I wanted to make a function that makes an arbitrary quad that takes a normal vector, a position vector that lies on the center of the quad, and a width and height which correspond to the tangent and bitangent axis's respectively. I figure this is possible considering there is only one plane per vertex normal pair.  My question is how would I do this.

I know the formula for deriving a plane from a normal but I cant figure out how to make the quad on it.

### #2deekr  Members

Posted 11 February 2013 - 01:04 AM

You can't derive a plane from a normal, you need another parameter like a point on the plane or a reference distance. The plane equation (the equation I think you are referencing) is useful for determining where a point lives with respect to the plane.

You need to create a tangent and bi-tangent on each plane of your prism. Then the corners look something like (1/2)((+/-) L*T (+/-) W * B). Just for an example, you could compute them in model space. For the sides: T = Z x N, B = N x T. For the top: T = X, B = Y. For the bottom: T = -X, B = Y.

### #3stateOfDaniel  Members

Posted 12 February 2013 - 06:04 PM

Thanks it worked!

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.