|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectcom.jme3.renderer.GLObject
com.jme3.scene.VertexBuffer
public class VertexBuffer
A VertexBuffer
contains a particular type of geometry
data used by Mesh
es. Every VertexBuffer set on a Mesh
is sent as an attribute to the vertex shader to be processed.
Several terms are used throughout the javadoc for this class, explanation:
入れ子のクラスの概要 | |
---|---|
static class |
VertexBuffer.Format
Specifies format of the data stored in the buffer. |
static class |
VertexBuffer.Type
Type of buffer. |
static class |
VertexBuffer.Usage
The usage of the VertexBuffer, specifies how often the buffer is used. |
コンストラクタの概要 | |
---|---|
VertexBuffer()
Serialization only. |
|
VertexBuffer(VertexBuffer.Type type)
Creates an empty, uninitialized buffer. |
メソッドの概要 | |
---|---|
void |
clearUpdateNeeded()
Internal use only. |
VertexBuffer |
clone()
Creates a deep clone of the VertexBuffer . |
VertexBuffer |
clone(VertexBuffer.Type overrideType)
Creates a deep clone of this VertexBuffer but overrides the VertexBuffer.Type . |
void |
compact(int numElements)
Reduces the capacity of the buffer to the given amount of elements, any elements at the end of the buffer are truncated as necessary. |
void |
convertToHalf()
Converts single floating-point data to half floating-point data. |
void |
copyElement(int inIndex,
VertexBuffer outVb,
int outIndex)
Copies a single element of data from this VertexBuffer
to the given output VertexBuffer. |
static java.nio.Buffer |
createBuffer(VertexBuffer.Format format,
int components,
int numElements)
Creates a Buffer that satisfies the given type and size requirements
of the parameters. |
GLObject |
createDestructableClone()
Creates a shallow clone of this GL Object. |
void |
deleteObject(Renderer r)
Deletes the GL object from the GPU when it is no longer used. |
VertexBuffer.Type |
getBufferType()
|
java.nio.Buffer |
getData()
|
java.lang.Object |
getElementComponent(int elementIndex,
int componentIndex)
Get the component inside an element. |
VertexBuffer.Format |
getFormat()
|
int |
getNumComponents()
|
int |
getNumElements()
|
int |
getOffset()
|
int |
getStride()
|
VertexBuffer.Usage |
getUsage()
|
boolean |
hasDataSizeChanged()
Returns true if the data size of the VertexBuffer has changed. |
boolean |
isNormalized()
|
void |
read(JmeImporter im)
|
void |
resetObject()
Called when the GL context is restarted to reset all IDs. |
void |
setElementComponent(int elementIndex,
int componentIndex,
java.lang.Object val)
Modify a component inside an element. |
void |
setNormalized(boolean normalized)
|
void |
setOffset(int offset)
|
void |
setStride(int stride)
Set the stride (in bytes) for the data. |
void |
setupData(VertexBuffer.Usage usage,
int components,
VertexBuffer.Format format,
java.nio.Buffer data)
Called to initialize the data in the VertexBuffer . |
void |
setUsage(VertexBuffer.Usage usage)
|
java.lang.String |
toString()
|
void |
updateData(java.nio.Buffer data)
Called to update the data in the buffer with new data. |
void |
write(JmeExporter ex)
|
クラス com.jme3.renderer.GLObject から継承されたメソッド |
---|
getId, isUpdateNeeded, setId, setUpdateNeeded |
クラス java.lang.Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public VertexBuffer(VertexBuffer.Type type)
public VertexBuffer()
メソッドの詳細 |
---|
public int getOffset()
setOffset(int)
public void setOffset(int offset)
offset
- Specify the offset (in bytes) from the start of the buffer
after which the data is sent to the GPU.public int getStride()
setStride(int)
public void setStride(int stride)
If the data is packed in the buffer, then stride is 0, if there's other data that is between the current component and the next component in the buffer, then this specifies the size in bytes of that additional data.
stride
- the stride (in bytes) for the datapublic java.nio.Buffer getData()
format
.public VertexBuffer.Usage getUsage()
VertexBuffer.Usage
for more
information.public void setUsage(VertexBuffer.Usage usage)
usage
- The usage of this buffer. See VertexBuffer.Usage
for more
information.public void setNormalized(boolean normalized)
normalized
- Set to true if integer components should be converted
from their maximal range into the range 0.0 - 1.0 when converted to
a floating-point value for the shader.
E.g. if the VertexBuffer.Format
is VertexBuffer.Format.UnsignedInt
, then
the components will be converted to the range 0.0 - 1.0 by dividing
every integer by 2^32.public boolean isNormalized()
setNormalized(boolean)
public VertexBuffer.Type getBufferType()
public VertexBuffer.Format getFormat()
format
, or data type of the data.public int getNumComponents()
format
per
element.public int getNumElements()
public void setupData(VertexBuffer.Usage usage, int components, VertexBuffer.Format format, java.nio.Buffer data)
VertexBuffer
. Must only
be called once.
usage
- The usage for the data, or how often will the data
be updated per frame. See the VertexBuffer.Usage
enum.components
- The number of components per element.format
- The format
, or data-type of a single
component.data
- A native buffer, the format of which matches the VertexBuffer.Format
argument.public void updateData(java.nio.Buffer data)
setupData(com.jme3.scene.VertexBuffer.Usage, int, com.jme3.scene.VertexBuffer.Format, java.nio.Buffer)
has been called. Note that it is fine to call this method on the
data already set, e.g. vb.updateData(vb.getData()), this will just
set the proper update flag indicating the data should be sent to the GPU
again.
It is allowed to specify a buffer with different capacity than the
originally set buffer.
data
- The data buffer to setpublic boolean hasDataSizeChanged()
public void clearUpdateNeeded()
GLObject
の記述:
GLObject
内の clearUpdateNeeded
public void convertToHalf()
half
floating-point data.
public void compact(int numElements)
numElements
- The number of elements to reduce to.public void setElementComponent(int elementIndex, int componentIndex, java.lang.Object val)
val
parameter must be in the buffer's format:
VertexBuffer.Format
.
elementIndex
- The element index to modifycomponentIndex
- The component index to modifyval
- The value to set, either byte, short, int or float depending
on the VertexBuffer.Format
.public java.lang.Object getElementComponent(int elementIndex, int componentIndex)
elementIndex
- The element indexcomponentIndex
- The component index
public void copyElement(int inIndex, VertexBuffer outVb, int outIndex)
VertexBuffer
to the given output VertexBuffer.
inIndex
- The input element indexoutVb
- The buffer to copy tooutIndex
- The output element index
java.lang.IllegalArgumentException
- If the formats of the buffers do not
match.public static java.nio.Buffer createBuffer(VertexBuffer.Format format, int components, int numElements)
Buffer
that satisfies the given type and size requirements
of the parameters. The buffer will be of the type specified by
format
and would be able to contain the given number
of elements with the given number of components in each element.
public VertexBuffer clone()
VertexBuffer
.
public VertexBuffer clone(VertexBuffer.Type overrideType)
VertexBuffer.Type
.
overrideType
- The type of the cloned VertexBuffer
public java.lang.String toString()
GLObject
内の toString
public void resetObject()
GLObject
の記述:
GLObject
内の resetObject
public void deleteObject(Renderer r)
GLObject
の記述:
GLObject
内の deleteObject
r
- The renderer to be used to delete the objectpublic GLObject createDestructableClone()
GLObject
の記述:
GLObject
内の createDestructableClone
public void write(JmeExporter ex) throws java.io.IOException
Savable
内の write
java.io.IOException
public void read(JmeImporter im) throws java.io.IOException
Savable
内の read
java.io.IOException
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |