PowerVR Series1

Up
QuickStart1
QuickStart2
QuickStart3
QuickStart4
QuickStart5

 

PowerVR SGL Direct Quickstart Tutorial - Step 2

 

Simply adding another vertex and defining another triangle face adds another triangle to the scene.

 

#include "sgl.h"
#define RGB(r, g, b) ((sgl_uint32) (((r) << 16) | ((g) << 8) | (b)))
SGLCONTEXT SGLContext;
SGLVERTEX  Vertices[] = {
            /* x      y     z   (1/W)    col       spec.col (u/W)(v/W)*/
	    {  0.0f,240.0f,0.0f,0.1f,RGB(255,0,0),RGB(0,0,0),0.0f,0.0f},
	    {320.0f,479.0f,0.0f,0.8f,RGB(255,0,0),RGB(0,0,0),0.0f,0.0f},
	    {639.0f,240.0f,0.0f,0.1f,RGB(255,0,0),RGB(0,0,0),0.0f,0.0f},
 
            {320.0f,  0.0f,0.0f,0.8f,RGB(0,255,0),RGB(0,0,0),0.0f,0.0f}
		        };
int	   TriFaceData[][3] = {{0,1,2},{3,0,2}};
Fourth vertex is defined at top-center of the screen, and the new triangle face is added to TriFaceData
int        Device;

void main ()
{
   Device = sgl_create_screen_device (0,640,480,sgl_device_16bit,TRUE);
   if (Device >= 0)
   {
      sgltri_startofframe (&SGLContext);
 
      sgltri_triangles    (&SGLContext, 2, TriFaceData, Vertices);
Increasing the number of faces to 2 will add the two triangles to the display list in one go.
      sgltri_render       (&SGLContext);

      sgl_delete_device   (Device);
   }
}
 


You may view this source code.

 

Next, we will add some coloured fog by modifying a few parameters in SGLContext.
Click here to see how it's done ...

Go to PowerSGL Direct QuickStart Page 1 - 3 - 4 - 5

 

Confidential / provided under Non-Disclosure Agreement
Copyright © 1999-2000, PowerVR Technologies and partners. PowerVR Technologies is a division of Imagination Technologies Limited.