本文整理了Java中com.jogamp.common.nio.Buffers.slice2Float()
方法的一些代码示例,展示了Buffers.slice2Float()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Buffers.slice2Float()
方法的具体详情如下:
包路径:com.jogamp.common.nio.Buffers
类名称:Buffers
方法名:slice2Float
[英]Slices a ByteBuffer or a FloatBuffer to a FloatBuffer at the given position with the given size in float-space.
The returned sliced buffer's start position is always zero.
The returned sliced buffer is FloatBuffer#mark() at it's FloatBuffer#position(). Hence FloatBuffer#reset() will rewind it to start after applying relative operations like FloatBuffer#get().
Using a ByteBuffer as the source guarantees keeping the source native order programmatically. This works around Honeycomb / Android 3.0 Issue 16434. This bug is resolved at least in Android 3.2.
[中]将ByteBuffer或FloatBuffer以给定的大小在浮点空间中的给定位置切片到FloatBuffer。
返回的切片缓冲区的起始位置始终为零。
返回的切片缓冲区在其FloatBuffer#位置()处为FloatBuffer#mark()。因此,FloatBuffer#reset()将在应用诸如FloatBuffer#get()之类的相对操作后将其倒带以启动。
使用ByteBuffer作为源代码可以保证以编程方式保持源代码的本机顺序。这在Honeycomb / Android 3.0 Issue 16434附近工作。这个错误至少在Android 3.2中得到了解决。
代码示例来源:origin: org.jogamp.jogl/jogl-all-noawt
mTex_offset = 4*16;
matrixPMvMvit = Buffers.slice2Float(matrixArray, 0*16, 4*16); // P + Mv + Mvi + Mvit
matrixPMvMvi = Buffers.slice2Float(matrixArray, 0*16, 3*16); // P + Mv + Mvi
matrixPMv = Buffers.slice2Float(matrixArray, 0*16, 2*16); // P + Mv
matrixP = Buffers.slice2Float(matrixArray, 0*16, 1*16); // P
matrixMv = Buffers.slice2Float(matrixArray, 1*16, 1*16); // Mv
matrixMvi = Buffers.slice2Float(matrixArray, 2*16, 1*16); // Mvi
matrixMvit = Buffers.slice2Float(matrixArray, 3*16, 1*16); // Mvit
matrixTex = Buffers.slice2Float(matrixArray, 4*16, 1*16); // T
代码示例来源:origin: ch.unibas.cs.gravis/scalismo-native-stub
mTex_offset = 4*16;
matrixPMvMvit = Buffers.slice2Float(matrixArray, 0*16, 4*16); // P + Mv + Mvi + Mvit
matrixPMvMvi = Buffers.slice2Float(matrixArray, 0*16, 3*16); // P + Mv + Mvi
matrixPMv = Buffers.slice2Float(matrixArray, 0*16, 2*16); // P + Mv
matrixP = Buffers.slice2Float(matrixArray, 0*16, 1*16); // P
matrixMv = Buffers.slice2Float(matrixArray, 1*16, 1*16); // Mv
matrixMvi = Buffers.slice2Float(matrixArray, 2*16, 1*16); // Mvi
matrixMvit = Buffers.slice2Float(matrixArray, 3*16, 1*16); // Mvit
matrixTex = Buffers.slice2Float(matrixArray, 4*16, 1*16); // T
代码示例来源:origin: org.jogamp.jogl/jogl
mTex_offset = 4*16;
matrixPMvMvit = Buffers.slice2Float(matrixArray, 0*16, 4*16); // P + Mv + Mvi + Mvit
matrixPMvMvi = Buffers.slice2Float(matrixArray, 0*16, 3*16); // P + Mv + Mvi
matrixPMv = Buffers.slice2Float(matrixArray, 0*16, 2*16); // P + Mv
matrixP = Buffers.slice2Float(matrixArray, 0*16, 1*16); // P
matrixMv = Buffers.slice2Float(matrixArray, 1*16, 1*16); // Mv
matrixMvi = Buffers.slice2Float(matrixArray, 2*16, 1*16); // Mvi
matrixMvit = Buffers.slice2Float(matrixArray, 3*16, 1*16); // Mvit
matrixTex = Buffers.slice2Float(matrixArray, 4*16, 1*16); // T
代码示例来源:origin: org.jogamp.jogl/jogl-all-noawt
eyeToSourceUVScale = new GLUniformData("svr_EyeToSourceUVScale", 2, Buffers.slice2Float(fstash, 0, 2));
eyeToSourceUVOffset = new GLUniformData("svr_EyeToSourceUVOffset", 2, Buffers.slice2Float(fstash, 2, 2));
} else {
eyeToSourceUVScale = null;
eyeRotationStart = new GLUniformData("svr_EyeRotationStart", 4, 4, Buffers.slice2Float(fstash, 4, 16));
eyeRotationEnd = new GLUniformData("svr_EyeRotationEnd", 4, 4, Buffers.slice2Float(fstash, 20, 16));
} else {
eyeRotationStart = null;
代码示例来源:origin: ch.unibas.cs.gravis/scalismo-native-stub
eyeToSourceUVScale = new GLUniformData("svr_EyeToSourceUVScale", 2, Buffers.slice2Float(fstash, 0, 2));
eyeToSourceUVOffset = new GLUniformData("svr_EyeToSourceUVOffset", 2, Buffers.slice2Float(fstash, 2, 2));
} else {
eyeToSourceUVScale = null;
eyeRotationStart = new GLUniformData("svr_EyeRotationStart", 4, 4, Buffers.slice2Float(fstash, 4, 16));
eyeRotationEnd = new GLUniformData("svr_EyeRotationEnd", 4, 4, Buffers.slice2Float(fstash, 20, 16));
} else {
eyeRotationStart = null;
内容来源于网络,如有侵权,请联系作者删除!