Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SG_VIEW_MATERIAL(3)	     Library Functions Manual	     SG_VIEW_MATERIAL(3)

NAME
     SG_Texture -- Agar-SG texture object

SYNOPSIS
     #include <agar/core.h>
     #include <agar/sg.h>

DESCRIPTION
     The  SG_Texture  object describes texture information which may be attached
     to SG_Object(3) nodes in a SG(3) scene.  Materials have the following prop-
     erties:
	   *   Texture image (one surface, or multiple blended surfaces).
	   *   Emissive, ambient, diffuse and specular color components.
	   *   Shininess (specular exponent).
	   *   Ties to fragment shader programs (see SG_Program(3)).

INHERITANCE HIERARCHY
     AG_Object(3)-> SG_Texture.

INTERFACE
     SG_Texture * SG_TextureNew(SG_Node *parent, const char *name)

     SG_TextureSurface * SG_TextureAddSurface(SG_Texture *tex, const  AG_Surface
     *s)

     SG_TextureSurface	*  SG_TextureAddSurfaceNODUP(SG_Texture *tex, AG_Surface
     *s)

     void SG_TextureDelSurface(SG_Texture *tex, SG_TextureSurface *ts)

     SG_TextureProgram * SG_TextureAddProgram(SG_Texture *tex, SG_Program *prog)

     void SG_TextureDelProgram(SG_Texture *tex, SG_TextureProgram *tp)

     int SG_TextureCompile(SG_Texture *tex)

     The  SG_TextureNew()  function  allocates,  initializes,  and  attaches   a
     SG_Texture object.

     The  SG_TextureAddSurface()  function  inserts  a copy of the given AG_Sur-
     face(3).  The SG_TextureAddSurfaceNODUP() variant inserts a  pointer  to  a
     surface  which must remain valid as long as the SG_Texture exists.  SG_Tex-
     tureDelSurface() deletes the specified surface.

     SG_TextureAddProgram() inserts the specified fragment program (see  SG_Pro-
     gram(3)), which will be used when rendering the texture.  SG_TextureDelPro-
     gram() removes the specified fragment program.

     The  SG_TextureCompile()  function  blends the input surfaces and generates
     the final texture surface.

STRUCTURE DATA
     For the SG_Texture object:

     M_Color emissive	    Light emitted by surface (Ke)
     M_Color ambient	    Ambient reflectance (Ka)
     M_Color diffuse	    Diffuse reflectance (Kd)
     M_Color specular	    Specular reflectance (Ks)
     M_Real shininess	    Specular exponent
     AG_Surface *surfaces   Input surface(s)
     Uint nSurfaces	    Input surface count

SEE ALSO
     M_Color(3),  M_Real(3),  SG(3),  SG_Intro(3),  SG_Light(3),  SG_Program(3),
     SG_View(3)

HISTORY
     The SG_Texture object first appeared in Agar 1.6.0.

Agar 1.7			December 21, 2022	     SG_VIEW_MATERIAL(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=SG_Texture&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help