Function:ns2vf4t
From S2PLOT
(Difference between revisions)
Current revision
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.