Function:ns2vf4t

From S2PLOT

Revision as of 01:30, 30 October 2007; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

ns2vf4t

Textured 4-vertex facet, scale in [0,1]; trans = 'o' or 't'.

Prototype

void ns2vf4t(XYZ *P, COLOUR col, char *texturefn, float scale, char trans);

Description

Draw a 4-vertex facet, and apply the texture file texturefn. The vertices are given by the array P, normals are calculated automatically, and the underlying RGB colour is col. scale should be in the range [0,1] and transparency trans = 'o' (opaque) or 't' (transparent).

texturefn must be a .TGA file that has length and width as powers of 2. The utility program texturise.csh can be used to convert your textures to the appropriate format. This is an OpenGL restriction.

See Also

ns2vf4 4-vertex facet with single colour and automatic normals.
ns2vf4n 4-vertex facet with single colour and normals given.
ns2vf4c 4-vertex facet with coloured vertices and automatic normals.
ns2vf4nc 4-vertex facet with coloured vertices and normals given.
struct_COLOUR Data structure for (r,g,b) colour indices.
struct_XYZ Data structure for (x,y,z) coordinates.


Code Example

#include <stdio.h>
#include <stdlib.h>
#include "s2plot.h"

int main(int argc, char *argv[])
{
   XYZ vertex[4];				/* 4 vertices */
   COLOUR col = { 1.0, 1.0, 0.3 };		/* Yellowish */
   float scale = 1.0;				/* Scale for texture */
   char *texture = "firetile2_pow2_rgb.tga";	
		/* Texture in directory pointed to by S2PLOT_TEXPATH */ 

   s2opend("/?",argc, argv);			/* Open the display */
   s2swin(-1.,1., -1.,1., -1.,1.);		/* Set the window coordinates */
   s2box("BCDET",0,0,"BCDET",0,0,"BCDET",0,0);	/* Draw coordinate box */

   vertex[0].x = 0.0; vertex[0].y =  0.0; vertex[0].z = 0.0;
   vertex[1].x = 0.5; vertex[1].y =  0.0; vertex[1].z = 0.0;
   vertex[2].x = 0.5; vertex[2].y = -0.4; vertex[2].z = 1.0;
   vertex[3].x = 0.0; vertex[3].y = -0.4; vertex[3].z = 1.0;

   ns2vf4t(vertex, col, texture, scale, 'o'); 	/* Draw the polygon */

   s2show(1);					/* Open the s2plot window */
   
   return 1;
}

Back to S2PLOT function list.


Personal tools