com.jogamp.common.nio.Buffers.slice2Float()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(3.7k)|赞(0)|评价(0)|浏览(77)

本文整理了Java中com.jogamp.common.nio.Buffers.slice2Float()方法的一些代码示例,展示了Buffers.slice2Float()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Buffers.slice2Float()方法的具体详情如下:
包路径:com.jogamp.common.nio.Buffers
类名称:Buffers
方法名:slice2Float

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;

相关文章