Package org.lwjgl.assimp
Class AITexture
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.assimp.AITexture
-
- All Implemented Interfaces:
- org.lwjgl.system.Pointer
public class AITexture extends org.lwjgl.system.Struct
Helper structure to describe an embedded texture.Normally textures are contained in external files but some file formats embed them directly in the model file. There are two types of embedded textures:
- Uncompressed textures. The color data is given in an uncompressed format.
- Compressed textures stored in a file format like png or jpg.
The raw file bytes are given so the application must utilize an image decoder (e.g. DevIL) to get access to the actual color data.
Embedded textures are referenced from materials using strings like "*0", "*1", etc. as the texture paths (a single asterisk character followed by the zero-based index of the texture in the
AIScene
::mTextures
array).Member documentation
mWidth
– Width of the texture, in pixels. IfmHeight
is zero the texture is compressed in a format like JPEG. In this casemWidth
specifies the size of the memory areapcData
is pointing to, in bytes.mHeight
– Height of the texture, in pixels. If this value is zero,pcData
points to an compressed texture in any format (e.g. JPEG).achFormatHint
– A hint from the loader to make it easier for applications to determine the type of embedded compressed textures. IfmHeight != 0
this member is undefined. Otherwise it is set set to '\0\0\0\0' if the loader has no additional information about the texture file format used OR the file extension of the format without a trailing dot. If there are multiple file extensions for a format, the shortest extension is chosen (JPEG maps to 'jpg', not to 'jpeg'). E.g. 'dds\0', 'pcx\0', 'jpg\0'. All characters are lower-case. The fourth character will always be '\0'.pcData
– Data of the texture. Points to an array ofmWidth * mHeight
AITexel
's. The format of the texture data is always ARGB8888 to make the implementation for user of the library as easy as possible. IfmHeight = 0
this is a pointer to a memory buffer of size mWidth containing the compressed texture data. Good luck, have fun!mFilename
– texture original filename. Used to get the texture reference.
Layout
struct aiTexture { unsigned int mWidth; unsigned int mHeight; char achFormatHint[4];
struct aiTexel
* pcData;struct aiString
mFilename; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
AITexture.Buffer
An array ofAITexture
structs.
-
Field Summary
Fields Modifier and Type Field and Description static int
SIZEOF
The struct size in bytes.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.nio.ByteBuffer
achFormatHint()
Returns aByteBuffer
view of theachFormatHint
field.java.lang.String
achFormatHintString()
Decodes the null-terminated string stored in theachFormatHint
field.static AITexture
create(long address)
Returns a newAITexture
instance for the specified memory address.static AITexture.Buffer
create(long address, int capacity)
Create aAITexture.Buffer
instance at the specified memory.static AITexture
createSafe(long address)
static AITexture.Buffer
createSafe(long address, int capacity)
AIString
mFilename()
Returns aAIString
view of themFilename
field.int
mHeight()
Returns the value of themHeight
field.int
mWidth()
Returns the value of themWidth
field.AITexel.Buffer
pcData(int capacity)
Returns aAITexel.Buffer
view of the struct array pointed to by thepcData
field.int
sizeof()
-
-
-
Constructor Detail
-
AITexture
public AITexture(java.nio.ByteBuffer container)
Creates aAITexture
instance at the current position of the specifiedByteBuffer
container. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Detail
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
mWidth
public int mWidth()
Returns the value of themWidth
field.
-
mHeight
public int mHeight()
Returns the value of themHeight
field.
-
achFormatHint
public java.nio.ByteBuffer achFormatHint()
Returns aByteBuffer
view of theachFormatHint
field.
-
achFormatHintString
public java.lang.String achFormatHintString()
Decodes the null-terminated string stored in theachFormatHint
field.
-
pcData
public AITexel.Buffer pcData(int capacity)
Returns aAITexel.Buffer
view of the struct array pointed to by thepcData
field.- Parameters:
capacity
- the number of elements in the returned buffer
-
create
public static AITexture create(long address)
Returns a newAITexture
instance for the specified memory address.
-
createSafe
@Nullable public static AITexture createSafe(long address)
-
create
public static AITexture.Buffer create(long address, int capacity)
Create aAITexture.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static AITexture.Buffer createSafe(long address, int capacity)
-
-