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 at-
       tached to SG_Object(3) nodes in a SG(3) scene.  Materials have the fol-
       lowing properties:
	     	 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_Surface(3).	 The  SG_TextureAddSurfaceNODUP()  variant  inserts  a
       pointer to a surface which must remain valid as long as the  SG_Texture
       exists.	SG_TextureDelSurface() deletes the specified surface.

       SG_TextureAddProgram()  inserts	the  specified	fragment  program (see
       SG_Program(3)),	which  will  be	 used  when  rendering	the   texture.
       SG_TextureDelProgram() removes the specified fragment program.

       The  SG_TextureCompile()	 function blends the input surfaces and	gener-
       ates 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+14.3.quarterly>

home | help