gpt4 book ai didi

com.ardor3d.renderer.state.ZBufferState类的使用及代码示例

转载 作者:知者 更新时间:2024-03-15 01:06:49 27 4
gpt4 key购买 nike

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

ZBufferState介绍

[英]ZBufferState maintains how the use of the depth buffer is to occur. Depth buffer comparisons are used to evaluate what incoming fragment will be used. This buffer is based on z depth, or distance between the pixel source and the eye.
[中]ZBufferState维护深度缓冲区的使用方式。深度缓冲区比较用于评估将使用的传入片段。该缓冲区基于z深度,即像素源和眼睛之间的距离。

代码示例

代码示例来源:origin: com.ardor3d/ardor3d-ui

/**
 * Construct a new UIHud
 */
public UIHud() {
  setName("UIHud");
  getSceneHints().setCullHint(CullHint.Never);
  getSceneHints().setRenderBucketType(RenderBucketType.Skip);
  getSceneHints().setLightCombineMode(LightCombineMode.Off);
  getSceneHints().setTextureCombineMode(TextureCombineMode.Replace);
  final ZBufferState zstate = new ZBufferState();
  zstate.setEnabled(false);
  zstate.setWritable(false);
  setRenderState(zstate);
  setupLogicalLayer();
}

代码示例来源:origin: Renanse/Ardor3D

public void init() {
  if (Constants.stats) {
    Constants.updateGraphs = true;
  }
  rootNode.getSceneHints().setCullHint(CullHint.Dynamic);
  statNode.getSceneHints().setCullHint(CullHint.Never);
  grid = createGrid();
  rootNode.attachChild(grid);
  particleNode = new Node("particles");
  rootNode.attachChild(particleNode);
  final ZBufferState zbuf = new ZBufferState();
  zbuf.setWritable(false);
  zbuf.setEnabled(true);
  zbuf.setFunction(ZBufferState.TestFunction.LessThanOrEqualTo);
  particleNode.setRenderState(zbuf);
  statNode.updateGeometricState(0, true);
};

代码示例来源:origin: Renanse/Ardor3D

context.setCurrentState(StateType.ZBuffer, state);
enableDepthTest(state.isEnabled(), record);
if (state.isEnabled()) {
  int depthFunc = 0;
  switch (state.getFunction()) {
    case Never:
      depthFunc = GL11C.GL_NEVER;
enableWrite(state.isWritable(), record);

代码示例来源:origin: com.ardor3d/ardor3d-core

public TransparentRenderBucket() {
  super();
  _tranparentCull = new CullState();
  _transparentZBuff = new ZBufferState();
  _transparentZBuff.setWritable(false);
  _transparentZBuff.setFunction(ZBufferState.TestFunction.LessThanOrEqualTo);
  _comparator = new TransparentComparator();
}

代码示例来源:origin: Renanse/Ardor3D

protected Mesh getFullScreenQuad() {
  if (_fsq != null) {
    return _fsq;
  }
  _fsq = Quad.newFullScreenQuad();
  final ZBufferState zState = new ZBufferState();
  zState.setEnabled(false);
  _fsq.setRenderState(zState);
  _fsq.updateGeometricState(0);
  return _fsq;
}

代码示例来源:origin: Renanse/Ardor3D

public RotateWidget(final IFilterList filterList) {
  super(filterList);
  _handle = new Node("rotationHandle");
  final ZBufferState zstate = new ZBufferState();
  zstate.setFunction(TestFunction.LessThanOrEqualTo);
  _handle.setRenderState(zstate);
  _handle.getSceneHints().setRenderBucketType(RenderBucketType.Transparent);
  _handle.updateGeometricState(0);
  if (RotateWidget.DEFAULT_CURSOR != null) {
    setMouseOverCallback(new SetCursorCallback(RotateWidget.DEFAULT_CURSOR));
  }
}

代码示例来源:origin: Renanse/Ardor3D

public static RenderState createState(final StateType type) {
    switch (type) {
      case Blend:
        return new BlendState();
      case ColorMask:
        return new ColorMaskState();
      case Cull:
        return new CullState();
      case Light:
        return new LightState();
      case Offset:
        return new OffsetState();
      case Stencil:
        return new StencilState();
      case Texture:
        return new TextureState();
      case Wireframe:
        return new WireframeState();
      case ZBuffer:
        return new ZBufferState();
    }
    throw new IllegalArgumentException("Unknown state type: " + type);
  }
}

代码示例来源:origin: Renanse/Ardor3D

private void setRenderStates(final Texture texture) {
  final BlendState bs = new BlendState();
  bs.setBlendEnabled(true);
  bs.setSourceFunction(BlendState.SourceFunction.SourceAlpha);
  bs.setDestinationFunction(BlendState.DestinationFunction.OneMinusSourceAlpha);
  bs.setTestEnabled(true);
  bs.setReference(0.5f);
  bs.setTestFunction(BlendState.TestFunction.GreaterThan);
  // setRenderState(bs);
  final TextureState ts = new TextureState();
  ts.setTexture(texture);
  setRenderState(ts);
  final ZBufferState zs = new ZBufferState();
  zs.setWritable(false);
  setRenderState(zs);
  setDefaultColor(_tintColor);
  setModelBound(null);
  getSceneHints().setLightCombineMode(LightCombineMode.Off);
  getSceneHints().setTextureCombineMode(TextureCombineMode.Replace);
  getSceneHints().setCullHint(CullHint.Never);
}

代码示例来源:origin: Renanse/Ardor3D

void setUseBlend(final boolean blend) {
    _useBlend = blend;
    if (!_useBlend) {
      blendState.setBlendEnabled(false);
      blendState.setReference(_blendDisabledTestRef);
      zBuffState.setWritable(true);
    } else {
      blendState.setBlendEnabled(true);
      blendState.setReference(_blendEnabledTestRef);
      zBuffState.setWritable(false);
    }
  }
}

代码示例来源:origin: Renanse/Ardor3D

public TransparentRenderBucket() {
  super();
  _tranparentCull = new CullState();
  _transparentZBuff = new ZBufferState();
  _transparentZBuff.setWritable(false);
  _transparentZBuff.setFunction(ZBufferState.TestFunction.LessThanOrEqualTo);
  _comparator = new TransparentComparator();
}

代码示例来源:origin: com.ardor3d/ardor3d-core

RenderStateSetter(final Texture texture, final boolean useBlend) {
  textureState = new TextureState();
  textureState.setTexture(texture);
  blendState = new BlendState();
  blendState.setSourceFunction(BlendState.SourceFunction.SourceAlpha);
  blendState.setDestinationFunction(BlendState.DestinationFunction.OneMinusSourceAlpha);
  blendState.setTestEnabled(true);
  blendState.setTestFunction(BlendState.TestFunction.GreaterThan);
  zBuffState = new ZBufferState();
  zBuffState.setFunction(ZBufferState.TestFunction.LessThanOrEqualTo);
  setUseBlend(useBlend);
}

代码示例来源:origin: com.ardor3d/ardor3d-core

protected Mesh getFullScreenQuad() {
  if (_fsq != null) {
    return _fsq;
  }
  _fsq = new Mesh("fsq");
  _fsq.getMeshData().setVertexBuffer(BufferUtils.createFloatBuffer(-1, -1, -1, 1, -1, -1, 1, 1, -1, -1, 1, -1));
  _fsq.getMeshData().setTextureBuffer(BufferUtils.createFloatBuffer(0, 0, 1, 0, 1, 1, 0, 1), 0);
  _fsq.getMeshData().setIndices(BufferUtils.createIndexBufferData(new int[] { 0, 1, 3, 1, 2, 3 }, 3));
  _fsq.getSceneHints().setCullHint(CullHint.Never);
  _fsq.getSceneHints().setLightCombineMode(LightCombineMode.Off);
  final ZBufferState zState = new ZBufferState();
  zState.setEnabled(false);
  _fsq.setRenderState(zState);
  _fsq.updateGeometricState(0);
  return _fsq;
}

代码示例来源:origin: com.ardor3d/ardor3d-core

return new WireframeState();
case ZBuffer:
  return new ZBufferState();

代码示例来源:origin: com.ardor3d/ardor3d-core

void setUseBlend(final boolean blend) {
    _useBlend = blend;
    if (!_useBlend) {
      blendState.setBlendEnabled(false);
      blendState.setReference(_blendDisabledTestRef);
      zBuffState.setWritable(true);
    } else {
      blendState.setBlendEnabled(true);
      blendState.setReference(_blendEnabledTestRef);
      zBuffState.setWritable(false);
    }
  }
}

代码示例来源:origin: Renanse/Ardor3D

/**
 * Construct a new UIHud for a given canvas
 */
public UIHud(final Canvas canvas) {
  setName("UIHud");
  _canvas = canvas;
  _hudCamera = Camera.newOrthoCamera(_canvas);
  getSceneHints().setCullHint(CullHint.Never);
  getSceneHints().setRenderBucketType(RenderBucketType.Skip);
  getSceneHints().setLightCombineMode(LightCombineMode.Off);
  getSceneHints().setTextureCombineMode(TextureCombineMode.Replace);
  final ZBufferState zstate = new ZBufferState();
  zstate.setEnabled(false);
  zstate.setWritable(false);
  setRenderState(zstate);
  setupLogicalLayer();
}

代码示例来源:origin: Renanse/Ardor3D

public SimpleScaleWidget withArrow(final ReadOnlyVector3 arrowDirection, final ReadOnlyColorRGBA color,
    final double lengthGap, final double tipGap) {
  _arrowDirection = new Vector3(arrowDirection);
  _handle = new InteractArrow("scaleHandle", 1.0, 0.125, lengthGap, tipGap);
  if (!_arrowDirection.equals(Vector3.UNIT_Z)) {
    _handle.setRotation(new Quaternion().fromVectorToVector(Vector3.UNIT_Z, _arrowDirection));
  }
  final BlendState blend = new BlendState();
  blend.setBlendEnabled(true);
  _handle.setRenderState(blend);
  ((Arrow) _handle).setDefaultColor(color);
  final ZBufferState zstate = new ZBufferState();
  zstate.setWritable(false);
  zstate.setFunction(TestFunction.Always);
  _handle.setRenderState(zstate);
  _handle.getSceneHints().setRenderBucketType(RenderBucketType.PostBucket);
  _handle.updateGeometricState(0);
  return this;
}

代码示例来源:origin: Renanse/Ardor3D

RenderStateSetter(final Texture texture, final boolean useBlend) {
  textureState = new TextureState();
  textureState.setTexture(texture);
  blendState = new BlendState();
  blendState.setSourceFunction(BlendState.SourceFunction.SourceAlpha);
  blendState.setDestinationFunction(BlendState.DestinationFunction.OneMinusSourceAlpha);
  blendState.setTestEnabled(true);
  blendState.setTestFunction(BlendState.TestFunction.GreaterThan);
  zBuffState = new ZBufferState();
  zBuffState.setFunction(ZBufferState.TestFunction.LessThanOrEqualTo);
  setUseBlend(useBlend);
}

代码示例来源:origin: Renanse/Ardor3D

final ZBufferState zbuff = new ZBufferState();
zbuff.setEnabled(false);
setRenderState(zbuff);

代码示例来源:origin: com.ardor3d/ardor3d-core

lineFrustum.setRenderState(lineBlendState);
final ZBufferState zstate = new ZBufferState();
lineFrustum.setRenderState(zstate);
lineFrustum.updateGeometricState(0.0);

代码示例来源:origin: com.ardor3d/ardor3d-jogl

context.setCurrentState(RenderState.StateType.ZBuffer, state);
enableDepthTest(state.isEnabled(), record);
if (state.isEnabled()) {
  int depthFunc = 0;
  switch (state.getFunction()) {
    case Never:
      depthFunc = GL.GL_NEVER;
enableWrite(state.isWritable(), record);

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com