logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SoTexture2 — texture mapping node

Action Behavior

SoGLRenderAction,SoCallbackAction
          Sets current texture in state.

Description

       This  property  node defines a texture map and parameters for that map. This map is used to apply texture
       to subsequent shapes as they are rendered.

       The texture can be read from the file specified by the filename field. Once the texture  has  been  read,
       the  image field contains the texture data. However, this field is marked so the image is not written out
       when the texture node is written to a file. To turn off texturing, set the filename  field  to  an  empty
       string ("").

       Textures can also be specified in memory by setting the image field to contain the texture data. Doing so
       resets the filename to the empty string.

       If  the  texture  image's  width or height is not a power of 2, or the image's width or height is greater
       than the maximum supported by OpenGL, then the image will be automatically scaled up or down to the  next
       power of 2 or the maximum texture size. For maximum speed, point-sampling is used to do the scale; if you
       want  more  accurate  resampling, pre-filter images to a power of 2 smaller than the maximum texture size
       (use the OpenGL glGetIntegerv(GL_MAX_TEXTURE_SIZE...)  call to determine maximum texture for  a  specific
       OpenGL implementation).

       The  quality  of  the  texturing  is  affected  by the textureQuality field of the SoComplexity node. The
       textureQuality field affects what kind of filtering is done to the texture when it must  be  minified  or
       magnified.  The  mapping of a particular texture quality value to a particular OpenGL filtering technique
       is implementation dependent, and varies based on the  texturing  performance.   If  mipmap  filtering  is
       required, mipmaps are automatically created using the simple box filter.

Fields

SoSFStringfilename
          Names  file  from  which  to  read  texture image. Currently only SGI .rgb files are supported. If the
          filename is not an absolute path name, the list of directories maintained by SoInput is  searched.  If
          the  texture  is  not found in any of those directories, then the file is searched for relative to the
          directory from which the SoTexture2 node was read. For example, if an SoTexture2 node with a  filename
          of  "../tofu.rgb"  is  read from /usr/people/bob/models/food.iv, then /usr/people/bob/tofu.rgb will be
          read (assuming tofu.rgb isn't found in the directories maintained by SoInput).

     SoSFImageimage
          Contains an in-memory representation of the texture map. It is either the contents of  the  file  read
          from  filename,  an  image read directly from an Inventor file, or an image set programmatically using
          the methods provided by SoSFImage.

     SoSFEnumwrapSSoSFEnumwrapT
          Indicates what to do when texture coordinates in the S (horizontal)  or  T  (vertical)  direction  lie
          outside the range 0-1.

     SoSFEnummodel
          Specifies how to map texture onto surface.

     SoSFColorblendColor
          Color used for BLEND model.

File Format/Defaults

Texture2{filename""image000wrapSREPEATwrapTREPEATmodelMODULATEblendColor000}

Inherits From

       SoBase > SoFieldContainer > SoNode > SoTexture2

Methods

SoTexture2()
          Creates a texture node with default settings.

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

Name

       SoTexture2 — texture mapping node

See Also

SoComplexity,SoMaterial,SoTexture2Transform,SoTextureCoordinate2,SoTextureCoordinateBinding,SoTextureCoordinateFunctionSoTexture2(3IV)()

Synopsis

#include<Inventor/nodes/SoTexture2.h>enumModel{SoTexture2::MODULATE  The texture color is multiplied by the surface color
          SoTexture2::DECAL     The texture color replaces the surface color
          SoTexture2::BLEND     Blends between the surface color and a specified blend color
     }enumWrap{SoTexture2::REPEAT  Repeats texture outside 0-1 texture coordinate range
          SoTexture2::CLAMP   Clamps texture coordinates to lie within 0-1 range
     }

          Fields from class SoTexture2:

     SoSFStringfilenameSoSFImageimageSoSFEnumwrapSSoSFEnumwrapTSoSFEnummodelSoSFColorblendColor

          Methods from class SoTexture2:

                         SoTexture2()staticSoTypegetClassTypeId()

          Methods from class SoNode:

     voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)

          Methods from class SoFieldContainer:

     voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)

          Methods from class SoBase:

     voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const

See Also