public class SoTextureCubeMap extends SoTexture
Cube map textures are often used within shader programs to implement effects such as reflection or refraction.
There are three ways to send the texture to Open Inventor:
filenames
field.
imagePosX
, ...) to contain the texture data. Doing so resets the filenames
field to the empty string.
But in all cases, the images must be specified in the following order:
The SoTextureCoordinateReflectionMap
node can be used to automatically generate appropriate texture coordinates for cube mapping.
If the texture image's width or height is not a power of 2, and the Non Power Of Two (NPOT) extension is available on your graphics board, by default Open Inventor will send the image to OpenGL without modification. See SoTexture2
for a complete discussion of this feature.
Transparency Texture images can contain transparency (alpha values less than 1) and modify the transparency of geometry in the scene. Also note that some image file formats, for example JPEG, do not support transparency information (alpha channel).
Limitations:
SoTextureCubeMap
with textures in different formats or sizes. All six textures must have the same format and size. If these conditions are not met, an error message is displayed (in debug) and nothing is changed on the state.
SoInput.addDirectoryFirst( "/ImageDirectory" ); String[] faceFile = { "left.jpg", "bottom.jpg", "back.jpg", "right.jpg", "top.jpg", "front.jpg", }; SoTextureCubeMap texture = new SoTextureCubeMap(); for (int i = 0; i < 6; ++i) { texture.filenames.set1Value( i, faceFile[i] ); } root.addChild( new SoTextureCoordinateReflectionMap() ); root.addChild( texture ); root.addChild( geometry );
File format/default:
TextureCubeMap {
filenames | "" |
imagePosX | 0 0 0 |
imageNegX | 0 0 0 |
imagePosY | 0 0 0 |
imageNegY | 0 0 0 |
imagePosZ | 0 0 0 |
imageNegZ | 0 0 0 |
wrapS | REPEAT |
wrapT | REPEAT |
wrapR | REPEAT |
enableCompressedTexture | false |
model | MODULATE |
blendColor | 0 0 0 |
enableBorder | false |
borderColor | 0 0 0 0 |
maxAnisotropy | 1.0 |
minFilter | AUTO |
magFilter | AUTO |
useAutoMipmap | false |
internalFormat | AUTO_INTERNAL_FORMAT |
Action behavior:
SoGLRenderAction
, SoCallbackAction
Sets current texture in state.
See also:
SoComplexity
, SoExtTexture2
, SoMaterial
, SoTexture2
, SoTexture2Transform
, SoTextureCoordinate2
, SoTextureCoordinateBinding
, SoTextureCoordinateFunction
, SoTextureCoordinateNormalMap
, SoTextureCoordinateReflectionMap
, SoTextureUnit
SoTexture.FileTypes, SoTexture.Filters, SoTexture.HW_Features, SoTexture.InternalFormats, SoTexture.Models, SoTexture.WrapType
SoNode.RenderModes
Inventor.ConstructorCommand
Modifier and Type | Field and Description |
---|---|
SoMFFilePathString |
filenames
Names file(s) from which to read texture image(s).
|
SoSFFloat |
HDRIExposure
Specifies an exposure factor when using an HDRI file.
|
SoSFImage |
imageNegX
See
imagePosX . |
SoSFImage |
imageNegY
See
imagePosX . |
SoSFImage |
imageNegZ
See
imagePosX . |
SoSFImage |
imagePosX
Contains an in-memory representation of the texture map.
|
SoSFImage |
imagePosY
See
imagePosX . |
SoSFImage |
imagePosZ
See
imagePosX . |
SoSFNode |
renderToTextureProperty
Specifies an
SoRenderToTextureProperty node containing a scene graph that will be rendered to create the texture image. |
SoSFEnum<SoTexture.WrapType> |
wrapR
Indicates what to do when texture coordinates in the R (depth) direction lie outside the range 0-1.
|
SoSFEnum<SoTexture.WrapType> |
wrapT
Indicates what to do when texture coordinates in the T (vertical) direction lie outside the range 0-1.
|
blendColor, borderColor, enableBorder, enableCompressedTexture, internalFormat, magFilter, maxAnisotropy, minFilter, model, wrapS
VERBOSE_LEVEL, ZeroHandle
Constructor and Description |
---|
SoTextureCubeMap()
Creates a texture node with default settings.
|
getBitmapFileType, isSupported, readTexture, readTexture, setBitmapFileType
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
getNativeResourceHandle
public final SoMFFilePathString filenames
SoRasterImageRW
for the list. If the first file is an HDRI file, only this file is used since it has all 6 faces encoded. 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 SoTextureCubeMap
node was read. For example, if an SoTextureCubeMap
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
).public final SoSFImage imagePosX
public final SoSFEnum<SoTexture.WrapType> wrapT
public final SoSFEnum<SoTexture.WrapType> wrapR
public final SoSFNode renderToTextureProperty
SoRenderToTextureProperty
node containing a scene graph that will be rendered to create the texture image.
The scene is rendered into a Pbuffer and then directly bound or copied into texture memory. Null by default.
public final SoSFFloat HDRIExposure
Generated on July 31, 2019, Copyright © Thermo Fisher Scientific. All rights reserved. http://www.openinventor.com