• Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

We're also offering banner ads on our site from just \$5! 1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.

# mcmonkey

Member Since 04 Jan 2013
Offline Last Active Feb 23 2013 12:08 AM

### Height of a 3D triangle

19 February 2013 - 10:42 PM

Let's say I have two triangles in a 3D space

The triangles are, of course, made from 3 coordinates (each coordinate an X/Y/Z set)

First Triangle:

X1 = 0, Y1 = 0, Z1 = Dynamic

X2 = 1, Y2 = 0, Z2 = Dynamic

X3 = 1, Y3 = 1, Z3 = Dynamic

Second Triangle:

X1 = 0, Y1 = 0, Z1 = Dynamic

X2 = 1, Y2 = 1, Z2 = Dynamic

X3 = 1, Y3 = 0, Z3 = Dynamic

... So, basically, a square that's cut through the middle (and bends on that cut)

Each Z value for each is known, but varies from instance to instance. And they vary independently.

If I have a position (Say, X=0.13,Y=0.73)

How would I calculcate what the Z of the triangle will be at that position?

(I'm hoping for an equation or pseudocode that will calculate the value without using raytracing or any expensive functions like that)

### (Solved)Render 3D Triangle List

04 January 2013 - 07:56 PM

I want to render semi-dynamic 3D models... the built in Model class won't work.
So I thought I'd use a simple array of Vertices and render triangles from that...

I've looked all around the internet, and cannot figure out how to do it.

Here's what I'm currently trying:

```        public static VertexPositionNormalTexture[] MapMesh = new VertexPositionNormalTexture[1];
public static void GenMesh()
{
MapMesh = new VertexPositionNormalTexture[3];
MapMesh[0].Position = new Vector3(-0.5f, -0.5f, 0f);
MapMesh[1].Position = new Vector3(0, 0.5f, 0.1f);
MapMesh[2].Position = new Vector3(0.5f, -0.5f, 0f);
}
public static void DrawMesh(GraphicsDevice device)
{
device.DrawUserPrimitives(PrimitiveType.TriangleList, MapMesh, 0, MapMesh.Length/3);
Models.drawmodel(Models.cube, new Vector3(-1, -1, -5), Vector3.Zero, Textures.textures[Console.constext], Vector3.One);
}```

GenMesh is called once, DrawMesh is called in the Draw loop somewhere shortly after the code

```// effect is a BasicEffect.
effect.View = (camera.ViewMatrix);
effect.Projection = (camera.ProjectionMatrix);
effect.World = (Matrix.Identity);
effect.TextureEnabled = true;
effect.Texture = Textures.White;
foreach (EffectPass pass in effect.CurrentTechnique.Passes)
{
pass.Apply();
}```

the drawmodel(Models.cube bit is just so I can make sure I've pointed the camera at the right spot.

All I see is the cube, no triangle.

- Also, I have CullMode set to None.

What am I missing here?

PARTNERS