com.jme3.material.RenderState.setFaceCullMode()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.9k)|赞(0)|评价(0)|浏览(102)

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

RenderState.setFaceCullMode介绍

[英]Set the face culling mode.

See the FaceCullMode enum on what each value does. Face culling will project the triangle's points onto the screen and determine if the triangle is in counter-clockwise order or clockwise order. If a triangle is in counter-clockwise order, then it is considered a front-facing triangle, otherwise, it is considered a back-facing triangle.
[中]设置面剔除模式。
有关每个值的作用,请参见FaceCullMode枚举。面剔除将三角形的点投影到屏幕上,并确定三角形是逆时针顺序还是顺时针顺序。如果一个三角形按逆时针顺序排列,则它被视为正面三角形,否则,它被视为背面三角形。

代码示例

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

protected void initForcedRenderState() {
  forcedRenderState.setFaceCullMode(RenderState.FaceCullMode.Front);
  forcedRenderState.setColorWrite(false);
  forcedRenderState.setDepthWrite(true);
  forcedRenderState.setDepthTest(true);
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

protected void initForcedRenderState() {
  forcedRenderState.setFaceCullMode(RenderState.FaceCullMode.Front);
  forcedRenderState.setColorWrite(false);
  forcedRenderState.setDepthWrite(true);
  forcedRenderState.setDepthTest(true);
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

/**
 * Set to true if you want back faces shadows on geometries.
 * Note that back faces shadows will be blended over dark lighten areas and may produce overly dark lighting.
 *
 * Also note that setting this parameter will override this parameter for ALL materials in the scene.
 * You can alternatively change this parameter on a single material using {@link Material#setBoolean(String, boolean)}
 *
 * This also will automatically adjust the faceCullMode and the PolyOffset of the pre shadow pass.
 * You can modify them by using {@link #getPreShadowForcedRenderState()}
 *
 * @param renderBackFacesShadows true or false.
 */
public void setRenderBackFacesShadows(Boolean renderBackFacesShadows) {
  this.renderBackFacesShadows = renderBackFacesShadows;
  if(renderBackFacesShadows) {
    getPreShadowForcedRenderState().setPolyOffset(5, 3);
    getPreShadowForcedRenderState().setFaceCullMode(RenderState.FaceCullMode.Back);
  }else{
    getPreShadowForcedRenderState().setPolyOffset(0, 0);
    getPreShadowForcedRenderState().setFaceCullMode(RenderState.FaceCullMode.Front);
  }
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

/**
 * Set to true if you want back faces shadows on geometries.
 * Note that back faces shadows will be blended over dark lighten areas and may produce overly dark lighting.
 *
 * Also note that setting this parameter will override this parameter for ALL materials in the scene.
 * You can alternatively change this parameter on a single material using {@link Material#setBoolean(String, boolean)}
 *
 * This also will automatically adjust the faceCullMode and the PolyOffset of the pre shadow pass.
 * You can modify them by using {@link #getPreShadowForcedRenderState()}
 *
 * @param renderBackFacesShadows true or false.
 */
public void setRenderBackFacesShadows(Boolean renderBackFacesShadows) {
  this.renderBackFacesShadows = renderBackFacesShadows;
  if(renderBackFacesShadows) {
    getPreShadowForcedRenderState().setPolyOffset(5, 3);
    getPreShadowForcedRenderState().setFaceCullMode(RenderState.FaceCullMode.Back);
  }else{
    getPreShadowForcedRenderState().setPolyOffset(0, 0);
    getPreShadowForcedRenderState().setFaceCullMode(RenderState.FaceCullMode.Front);
  }
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

renderState.setWireframe(parseBoolean(split[1]));
}else if (split[0].equals("FaceCull")){
  renderState.setFaceCullMode(FaceCullMode.valueOf(split[1]));
}else if (split[0].equals("DepthWrite")){
  renderState.setDepthWrite(parseBoolean(split[1]));

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

public PreDepthProcessor(AssetManager assetManager){
  this.assetManager = assetManager;
  preDepth = new Material(assetManager, "Common/MatDefs/Shadow/PreShadow.j3md");
  preDepth.getAdditionalRenderState().setPolyOffset(0, 0);
  preDepth.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Back);
  forcedRS = new RenderState();
  forcedRS.setDepthTest(true);
  forcedRS.setDepthWrite(false);
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

} else {
  Material defaultMaterial = blenderContext.getDefaultMaterial().clone();
  defaultMaterial.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Off);
  geometry.setMaterial(defaultMaterial);

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

if (doubleSided) {
  getMaterial().getAdditionalRenderState().setFaceCullMode(RenderState.FaceCullMode.Off);

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

material.setBoolean(shadeless ? "VertexColor" : "UseVertexColor", true);
material.getAdditionalRenderState().setFaceCullMode(faceCullMode != null ? faceCullMode : blenderContext.getBlenderKey().getFaceCullMode());
if (transparent) {
  material.setTransparent(true);

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

Material mat = m.material;
if(cullMode != FaceCullMode.Back)
  mat.getAdditionalRenderState().setFaceCullMode(cullMode);
for(Geometry g : mesh.geometries) {
  if(g.getUserData("FBXMaterial") != null) {

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

rs.setFaceCullMode(RenderState.FaceCullMode.Off);
if (twoSide){
  RenderState rs = mat.getAdditionalRenderState();
  rs.setFaceCullMode(RenderState.FaceCullMode.Off);

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

mat1.getAdditionalRenderState().setFaceCullMode(RenderState.FaceCullMode.Off);
mat2.getAdditionalRenderState().setFaceCullMode(RenderState.FaceCullMode.Front);

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

mat.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Off);

代码示例来源:origin: org.jmonkeyengine/jme3-core

protected void initForcedRenderState() {
  forcedRenderState.setFaceCullMode(RenderState.FaceCullMode.Front);
  forcedRenderState.setColorWrite(false);
  forcedRenderState.setDepthWrite(true);
  forcedRenderState.setDepthTest(true);
}

代码示例来源:origin: us.ihmc/ihmc-jmonkey-engine-toolkit

public static Material createMaterialFromBufferedImage(AssetManager contentMan, BufferedImage bufferedImage)
{
 Material material = new Material(contentMan, PHONG_ILLUMINATED_JME_MAT);
 Texture texture = createTexture(bufferedImage);
 material.setTexture("DiffuseMap", texture);
 if (bufferedImage.getColorModel().hasAlpha())
 {
   material.getAdditionalRenderState().setBlendMode(BlendMode.Alpha);
   material.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Off);
 }
 //      material.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Off);
 return material;
}

代码示例来源:origin: us.ihmc/IHMCJMonkeyEngineToolkit

public static Material createMaterialFromBufferedImage(JMEAssetLocator contentMan, BufferedImage bufferedImage)
{
 Material material = new Material(contentMan.getAssetManager(), PHONG_ILLUMINATED_JME_MAT);
 Image image = awtLoader.load(bufferedImage, true);
 Texture texture = new Texture2D(image);
 material.setTexture("DiffuseMap", texture);
 if (bufferedImage.getColorModel().hasAlpha())
 {
   material.getAdditionalRenderState().setBlendMode(BlendMode.Alpha);
   material.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Off);
 }
 //      material.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Off);
 return material;
}

代码示例来源:origin: org.jmonkeyengine/jme3-core

public PreDepthProcessor(AssetManager assetManager){
  this.assetManager = assetManager;
  preDepth = new Material(assetManager, "Common/MatDefs/Shadow/PreShadow.j3md");
  preDepth.getAdditionalRenderState().setPolyOffset(0, 0);
  preDepth.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Back);
  forcedRS = new RenderState();
  forcedRS.setDepthTest(true);
  forcedRS.setDepthWrite(false);
}

代码示例来源:origin: info.projectkyoto/mms-engine

public PreDepthProcessor(AssetManager assetManager){
  this.assetManager = assetManager;
  preDepth = new Material(assetManager, "Common/MatDefs/Shadow/PreShadow.j3md");
  preDepth.getAdditionalRenderState().setPolyOffset(0, 0);
  preDepth.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Back);
  forcedRS = new RenderState();
  forcedRS.setDepthTest(true);
  forcedRS.setDepthWrite(false);
}

代码示例来源:origin: tonihele/OpenKeeper

private Material createMaterial() {
    Material result = new Material(assetManager, "MatDefs/LightingSprite.j3md");

    result.setInt("NumberOfTiles", frames);
    result.setInt("Speed", frames); // FIXME: correct value

    result.setTransparent(true);
    result.setFloat("AlphaDiscardThreshold", 0.1f);

    result.getAdditionalRenderState().setBlendMode(RenderState.BlendMode.Alpha);
    result.getAdditionalRenderState().setFaceCullMode(RenderState.FaceCullMode.Off);
    //result.getAdditionalRenderState().setDepthTest(false);

    return result;
  }
}

代码示例来源:origin: tonihele/OpenKeeper

private void setupVisualsForSelection() {
  matWireBox = new Material(this.app.getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");
  matWireBox.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Off);
  matWireBox.setColor("Color", selectionColor.getColor());
  matWireBox.getAdditionalRenderState().setLineWidth(6);
  this.wireBox = new WireBox(MapLoader.TILE_WIDTH, MapLoader.TILE_WIDTH, MapLoader.TILE_WIDTH);
  this.wireBox.setDynamic();
  this.wireBoxGeo = new Geometry("wireBox", wireBox);
  this.wireBoxGeo.setMaterial(matWireBox);
  this.wireBoxGeo.setCullHint(CullHint.Never);
  this.wireBoxGeo.setShadowMode(RenderQueue.ShadowMode.Off);
  this.app.getRootNode().attachChild(this.wireBoxGeo);
}

相关文章

微信公众号

最新文章

更多