当前位置: 首页>>代码示例>>Java>>正文


Java Renderer.clearBuffers方法代码示例

本文整理汇总了Java中com.jme3.renderer.Renderer.clearBuffers方法的典型用法代码示例。如果您正苦于以下问题:Java Renderer.clearBuffers方法的具体用法?Java Renderer.clearBuffers怎么用?Java Renderer.clearBuffers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.jme3.renderer.Renderer的用法示例。


在下文中一共展示了Renderer.clearBuffers方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: simpleRender

import com.jme3.renderer.Renderer; //导入方法依赖的package包/类
@Override
public void simpleRender(RenderManager rm){
    Renderer r = rm.getRenderer();

    //do FBO rendering
    r.setFrameBuffer(fb);

    rm.setCamera(cam, false); // FBO uses current camera
    r.clearBuffers(true, true, true);
    rm.renderScene(fbNode, viewPort);
    rm.flushQueue(viewPort);

    //go back to default rendering and let
    //SimpleApplication render the default scene
    r.setFrameBuffer(null);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:17,代码来源:TestFBOPassthrough.java

示例2: renderProcessing

import com.jme3.renderer.Renderer; //导入方法依赖的package包/类
private void renderProcessing(Renderer r, FrameBuffer dst, Material mat){
    if (dst == null){
        fsQuad.setWidth(mainSceneFB.getWidth());
        fsQuad.setHeight(mainSceneFB.getHeight());
        fbCam.resize(mainSceneFB.getWidth(), mainSceneFB.getHeight(), true);
    }else{
        fsQuad.setWidth(dst.getWidth());
        fsQuad.setHeight(dst.getHeight());
        fbCam.resize(dst.getWidth(), dst.getHeight(), true);
    }
    fsQuad.setMaterial(mat);
    fsQuad.updateGeometricState();
    renderManager.setCamera(fbCam, true);

    r.setFrameBuffer(dst);
    r.clearBuffers(true, true, true);
    renderManager.renderGeometry(fsQuad);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:19,代码来源:HDRRenderer.java

示例3: postQueue

import com.jme3.renderer.Renderer; //导入方法依赖的package包/类
@Override
public void postQueue(RenderQueue rq) {
    if (occluders == null) {
        return;
    }
    Renderer renderer = renderManager.getRenderer();

    renderer.setFrameBuffer(fogFb);
    renderer.clearBuffers(true, true, true);

    if (fogPreventers == 0) {

        renderManager.setForcedMaterial(fogShapeMaterial);
        for (Geometry geometry : occluders) {
            renderManager.renderGeometry(geometry);
        }

        renderManager.setForcedMaterial(null);
    }

    renderer.setFrameBuffer(viewPort.getOutputFrameBuffer());
}
 
开发者ID:TripleSnail,项目名称:Arkhados,代码行数:23,代码来源:ClientFog.java

示例4: renderProcessing

import com.jme3.renderer.Renderer; //导入方法依赖的package包/类
/**
 * renders a filter on a fullscreen quad
 * @param r
 * @param buff
 * @param mat 
 */
private void renderProcessing(Renderer r, FrameBuffer buff, Material mat) {
    if (buff == outputBuffer) {
        fsQuad.setWidth(width);
        fsQuad.setHeight(height);
        filterCam.resize(originalWidth, originalHeight, true);
        fsQuad.setPosition(left * originalWidth, bottom * originalHeight);
    } else {
        fsQuad.setWidth(buff.getWidth());
        fsQuad.setHeight(buff.getHeight());
        filterCam.resize(buff.getWidth(), buff.getHeight(), true);
        fsQuad.setPosition(0, 0);
    }

    if (mat.getAdditionalRenderState().isDepthWrite()) {
        mat.getAdditionalRenderState().setDepthTest(false);
        mat.getAdditionalRenderState().setDepthWrite(false);
    }

    fsQuad.setMaterial(mat);
    fsQuad.updateGeometricState();

    renderManager.setCamera(filterCam, true);
    r.setFrameBuffer(buff);
    r.clearBuffers(false, true, true);
    renderManager.renderGeometry(fsQuad);

}
 
开发者ID:mleoking,项目名称:PhET,代码行数:34,代码来源:FilterPostProcessor.java

示例5: postQueue

import com.jme3.renderer.Renderer; //导入方法依赖的package包/类
public void postQueue(RenderQueue rq) {
        GeometryList occluders = rq.getShadowQueueContent(ShadowMode.Cast);
        if (occluders.size() == 0) {
            noOccluders = true;
            return;
        } else {
            noOccluders = false;
        }

        GeometryList receivers = rq.getShadowQueueContent(ShadowMode.Receive);

        // update frustum points based on current camera
        Camera viewCam = viewPort.getCamera();
        ShadowUtil.updateFrustumPoints(viewCam,
                viewCam.getFrustumNear(),
                viewCam.getFrustumFar(),
                1.0f,
                points);

        Vector3f frustaCenter = new Vector3f();
        for (Vector3f point : points) {
            frustaCenter.addLocal(point);
        }
        frustaCenter.multLocal(1f / 8f);

        // update light direction
        shadowCam.setProjectionMatrix(null);
        shadowCam.setParallelProjection(true);
//        shadowCam.setFrustumPerspective(45, 1, 1, 20);

        shadowCam.lookAtDirection(direction, Vector3f.UNIT_Y);
        shadowCam.update();
        shadowCam.setLocation(frustaCenter);
        shadowCam.update();
        shadowCam.updateViewProjection();

        // render shadow casters to shadow map
        ShadowUtil.updateShadowCamera(occluders, receivers, shadowCam, points);

        Renderer r = renderManager.getRenderer();
        renderManager.setCamera(shadowCam, false);
        renderManager.setForcedMaterial(preshadowMat);

        r.setFrameBuffer(shadowFB);
        r.clearBuffers(false, true, false);
        viewPort.getQueue().renderShadowQueue(ShadowMode.Cast, renderManager, shadowCam, true);
        r.setFrameBuffer(viewPort.getOutputFrameBuffer());

        renderManager.setForcedMaterial(null);
        renderManager.setCamera(viewCam, false);
    }
 
开发者ID:mleoking,项目名称:PhET,代码行数:52,代码来源:BasicShadowRenderer.java


注:本文中的com.jme3.renderer.Renderer.clearBuffers方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。