Ejemplo n.º 1
0
void draw_shape(OBJECT *verts)
{
	
	int i, j; // loop variables 
	// polymorphic way to draw shapes
	
	glClearColor(0,0,0,0); // else black
	
	for(i = 0; i < crt_vs; i++) // handles main body of array
	{ 
		for(j = 0; j < crt_rs; j++)
		{
			draw_quads(verts->shape_verts, verts->shape_normals, verts->shape_tex, i,j,i,j+1,i+1,j+1,i+1,j, RED); // draws shape
		}
	}
	for (i = 0; i < crt_vs; i ++) // connects the sides
	{
		draw_quads(verts->shape_verts, verts->shape_normals, verts->shape_tex, i, crt_rs, i+ 1, crt_rs, i + 1, 0, i, 0, RED);
	}
	if(my_objects[num_objects - 1].sid == 0 || my_objects[num_objects].sid == 1) // fixes cube and house normal
	{
		
		for(i = 0; i < 2; i++) // draws tops of house and cube
		{
			draw_quads(verts->shape_verts,verts->shape_normals, verts->shape_tex, crt_vs - i, 0, crt_vs - i, 1, crt_vs - i, 2, crt_vs - i, 3, RED);	
		}
	}
}
Ejemplo n.º 2
0
// this works for all shapes
void draw_shape(SHAPE *verts, GLfloat* color)
{
  int i, j; // loop variables 
  
  for(i = 0; i < curr_vs; i++) {  // handles main body of array
    for(j = 0; j < curr_rs; j++) {
      draw_quads(verts->shape_verts, i, j, i, j+1, i+1, j+1, i+1, j, color); // draws shape
    }
  }
  for (i = 0; i < curr_vs; i ++) {  // connects the sides
    draw_quads(verts->shape_verts, i, curr_rs, i+1, curr_rs, i+1, 0, i, 0, color);
  }

  // this handles the cube top
  if (curr_rs == CUBE_RS && curr_vs == CUBE_VS) {
    for(i = 0; i < 2; i++) {  
    draw_quads(verts->shape_verts, curr_vs - i, 0, curr_vs - i, 1, curr_vs - i, 2, curr_vs - i, 3, color); 
    }
  }

}
Ejemplo n.º 3
0
void DeferredShading::draw_fullscreen_quad()
{
	quad_buf.clear();
	append_quad(quad_buf, Rect(-1, 1, 2, -2));
	draw_quads(quad_stream, quad_buf);
}