/** * Sets the data contained in the given vector4 into the FloatBuffer at the * specified index. * * @param vec * the {@link Vector4f} to insert * @param buf * the buffer to insert into * @param index * the position to place the data; in terms of vector4 not floats */ public static void setInBuffer(Vector4f vec, FloatBuffer buf, int index) { buf.position(index * 4); buf.put(vec.getX()); buf.put(vec.getY()); buf.put(vec.getZ()); buf.put(vec.getW()); }
/** * Generate a new FloatBuffer using the given array of Vector4 objects. The * FloatBuffer will be 4 * data.length long and contain the vector data. * * @param data * array of Vector4 objects to place into a new FloatBuffer */ public static FloatBuffer createFloatBuffer(Vector4f... data) { if (data == null) { return null; } FloatBuffer buff = createFloatBuffer(4 * data.length); for (int x = 0; x < data.length; x++) { if (data[x] != null) { buff.put(data[x].getX()).put(data[x].getY()).put(data[x].getZ()).put(data[x].getW()); } else { buff.put(0).put(0).put(0).put(0); } } buff.flip(); return buff; }
/** * Writes the value to the data buffer. * * @param data the data buffer. * @param value the value. */ protected void writeVec4(final ByteBuffer data, final Object value) { if (value == null) { data.putLong(0).putLong(0); } else if (value instanceof Vector4f) { final Vector4f vec4 = (Vector4f) value; data.putFloat(vec4.getX()) .putFloat(vec4.getY()) .putFloat(vec4.getZ()) .putFloat(vec4.getW()); } else if(value instanceof Quaternion) { final Quaternion vec4 = (Quaternion) value; data.putFloat(vec4.getX()) .putFloat(vec4.getY()) .putFloat(vec4.getZ()) .putFloat(vec4.getW()); } else if(value instanceof ColorRGBA) { final ColorRGBA vec4 = (ColorRGBA) value; data.putFloat(vec4.getRed()) .putFloat(vec4.getGreen()) .putFloat(vec4.getBlue()) .putFloat(vec4.getAlpha()); } }
private String formatValue(MatParam param) { Object value = param.getValue(); if (value == null) { return null; } switch (param.getVarType()) { case Vector2: Vector2f v2 = (Vector2f) value; return v2.getX() + " " + v2.getY(); case Vector3: Vector3f v3 = (Vector3f) value; return v3.getX() + " " + v3.getY() + " " + v3.getZ(); case Vector4: if (value instanceof ColorRGBA) { ColorRGBA c = (ColorRGBA) value; return c.getRed() + " " + c.getGreen() + " " + c.getBlue() + " " + c.getAlpha(); } else { Vector4f v4 = (Vector4f) value; return v4.getX() + " " + v4.getY() + " " + v4.getZ() + " " + v4.getW(); } default: return value.toString(); } } }
return v4.getX() + " " + v4.getY() + " " + v4.getZ() + " " + v4.getW(); } else if (val instanceof ColorRGBA) {
lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), -1, lightDataIndex); lightDataIndex++; tmpVec.set(pos.getX(), pos.getY(), pos.getZ(), 1.0f); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), invRadius, lightDataIndex); lightDataIndex++; tmpVec.set(pos2.getX(), pos2.getY(), pos2.getZ(), 1.0f); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), invRange, lightDataIndex); lightDataIndex++; lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos, lightDataIndex); lightDataIndex++; break;
lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), -1, lightDataIndex); lightDataIndex++; rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), invRadius, lightDataIndex); lightDataIndex++; rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), invRange, lightDataIndex); lightDataIndex++; rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); tmpVec.normalizeLocal(); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos, lightDataIndex); lightDataIndex++; break;
return v4.getX() + " " + v4.getY() + " " + v4.getZ() + " " + v4.getW(); } else if (value instanceof ColorRGBA) {
tmpLightDirection.set(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos);
/** * Sets the data contained in the given vector4 into the FloatBuffer at the * specified index. * * @param vec * the {@link Vector4f} to insert * @param buf * the buffer to insert into * @param index * the position to place the data; in terms of vector4 not floats */ public static void setInBuffer(Vector4f vec, FloatBuffer buf, int index) { buf.position(index * 4); buf.put(vec.getX()); buf.put(vec.getY()); buf.put(vec.getZ()); buf.put(vec.getW()); }
/** * Generate a new FloatBuffer using the given array of Vector4 objects. The * FloatBuffer will be 4 * data.length long and contain the vector data. * * @param data * array of Vector4 objects to place into a new FloatBuffer */ public static FloatBuffer createFloatBuffer(Vector4f... data) { if (data == null) { return null; } FloatBuffer buff = createFloatBuffer(4 * data.length); for (int x = 0; x < data.length; x++) { if (data[x] != null) { buff.put(data[x].getX()).put(data[x].getY()).put(data[x].getZ()).put(data[x].getW()); } else { buff.put(0).put(0).put(0).put(0); } } buff.flip(); return buff; }
private String formatValue(MatParam param) { Object value = param.getValue(); if (value == null) { return null; } switch (param.getVarType()) { case Vector2: Vector2f v2 = (Vector2f) value; return v2.getX() + " " + v2.getY(); case Vector3: Vector3f v3 = (Vector3f) value; return v3.getX() + " " + v3.getY() + " " + v3.getZ(); case Vector4: if (value instanceof ColorRGBA) { ColorRGBA c = (ColorRGBA) value; return c.getRed() + " " + c.getGreen() + " " + c.getBlue() + " " + c.getAlpha(); } else { Vector4f v4 = (Vector4f) value; return v4.getX() + " " + v4.getY() + " " + v4.getZ() + " " + v4.getW(); } default: return value.toString(); } } }
return v4.getX() + " " + v4.getY() + " " + v4.getZ() + " " + v4.getW(); } else if (val instanceof ColorRGBA) {
return v4.getX() + " " + v4.getY() + " " + v4.getZ() + " " + v4.getW(); } else if (value instanceof ColorRGBA) {
lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), -1, lightDataIndex); lightDataIndex++; rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), invRadius, lightDataIndex); lightDataIndex++; rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), invRange, lightDataIndex); lightDataIndex++; rm.getCurrentCamera().getViewMatrix().mult(tmpVec, tmpVec); tmpVec.normalizeLocal(); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos, lightDataIndex); lightDataIndex++; break;
return v4.getX() + " " + v4.getY() + " " + v4.getZ() + " " + v4.getW(); } else if (value instanceof ColorRGBA) {
lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), -1, lightDataIndex); lightDataIndex++; tmpVec.set(pos.getX(), pos.getY(), pos.getZ(), 1.0f); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), invRadius, lightDataIndex); lightDataIndex++; tmpVec.set(pos2.getX(), pos2.getY(), pos2.getZ(), 1.0f); lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), invRange, lightDataIndex); lightDataIndex++; lightData.setVector4InArray(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos, lightDataIndex); lightDataIndex++; break;
tmpLightDirection.set(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos);
tmpLightDirection.set(tmpVec.getX(), tmpVec.getY(), tmpVec.getZ(), spotAngleCos);