Sign in to follow this  

OpenGL Drawing Terrain with Triangle Strips

Recommended Posts

Hi guys this is my first post and it's because I'm having trouble rendering this terrain for a class program. I am using C++ and OpenGl. I have a 256 x 256 array of height values and the cross products for all normals, but when I render the terrain using triangle strips it comes out in what appears to be a wireframe model when it should be smooth. I'm using 2 if statements (int i,j) to loop all values of the height map and pass glVertex3f(i,j,height[i][j]). The code looks like this: glBegin(GL_TRIANGLE_STRIP); for(int i=0;i<256;i++) for(int j=0;j<256;j++) { p[0]=i;p[1]=j;p[2]=height[i][j]; a[0]=i+1;a[1]=j;a[2]=height[i+1][j]; b[0]=i;b[1]=j+1;b[2]=height[i][j+1]; v[0]=a[0]-p[0];v[1]=a[1]-p[1];v[2]=a[2]-p[2]; w[0]=b[0]-p[0];w[1]=b[1]-p[1];w[2]=b[2]-p[2]; nx=(v[1]*w[2])-(v[2]*w[1]); ny=(v[2]*w[0])-(v[0]*w[2]); nz=(v[0]*w[1])-(v[1]*w[0]); if(height[i][j]<0) height[i][j]=height[i][j]*-1; glNormal3f(nx,ny,nz); glColor3f(0.1*height[i][j],1.0,0.1*height[i][j]); glVertex3f(i,j,height[i][j]); } glEnd(); I guess we can ignore the normal vectors for now because I just need to get the terrain rendered correctly before I can even implement lighting effects. Anyone know what I'm doing wrong? Thanks for your time

Share this post

Link to post
Share on other sites

inline void MyRenderer :: fillPoly(const bool fill)
glPolygonMode(GL_FRONT_AND_BACK, (fill)?GL_FILL:GL_LINE);

fillPoly(true); // filled

To enable wireframe rendering:


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this