當前位置: 首頁>>代碼示例>>Java>>正文


Java ViewPort.getCamera方法代碼示例

本文整理匯總了Java中com.jme3.renderer.ViewPort.getCamera方法的典型用法代碼示例。如果您正苦於以下問題:Java ViewPort.getCamera方法的具體用法?Java ViewPort.getCamera怎麽用?Java ViewPort.getCamera使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.jme3.renderer.ViewPort的用法示例。


在下文中一共展示了ViewPort.getCamera方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: initialize

import com.jme3.renderer.ViewPort; //導入方法依賴的package包/類
public void initialize(RenderManager rm, ViewPort vp) {
    renderManager = rm;
    renderer = rm.getRenderer();
    viewPort = vp;
    fsQuad = new Picture("filter full screen quad");

    Camera cam = vp.getCamera();


    //save view port diensions
    left = cam.getViewPortLeft();
    right = cam.getViewPortRight();
    top = cam.getViewPortTop();
    bottom = cam.getViewPortBottom();
    originalWidth = cam.getWidth();
    originalHeight = cam.getHeight();
    //first call to reshape
    reshape(vp, cam.getWidth(), cam.getHeight());

}
 
開發者ID:mleoking,項目名稱:PhET,代碼行數:21,代碼來源:FilterPostProcessor.java

示例2: renderFromControl

import com.jme3.renderer.ViewPort; //導入方法依賴的package包/類
/**
 * Callback from Control.render(), do not use.
 * 
 * @param rm
 * @param vp 
 */
private void renderFromControl(RenderManager rm, ViewPort vp) {
    Camera cam = vp.getCamera();

    if (meshType == ParticleMesh.Type.Point) {
        float C = cam.getProjectionMatrix().m00;
        C *= cam.getWidth() * 0.5f;

        // send attenuation params
        this.getMaterial().setFloat("Quadratic", C);
    }

    Matrix3f inverseRotation = Matrix3f.IDENTITY;
    TempVars vars = null;
    if (!worldSpace) {
        vars = TempVars.get();

        inverseRotation = this.getWorldRotation().toRotationMatrix(vars.tempMat3).invertLocal();
    }
    particleMesh.updateParticleData(particles, cam, inverseRotation);
    if (!worldSpace) {
        vars.release();
    }
}
 
開發者ID:mleoking,項目名稱:PhET,代碼行數:30,代碼來源:ParticleEmitter.java

示例3: controlRender

import com.jme3.renderer.ViewPort; //導入方法依賴的package包/類
protected void controlRender(RenderManager rm, ViewPort vp){
    BoundingVolume bv = spatial.getWorldBound();

    Camera cam = vp.getCamera();
    float atanNH = FastMath.atan(cam.getFrustumNear() * cam.getFrustumTop());
    float ratio = (FastMath.PI / (8f * atanNH));
    float newDistance = bv.distanceTo(vp.getCamera().getLocation()) / ratio;
    int level;

    if (Math.abs(newDistance - lastDistance) <= distTolerance)
        level = lastLevel; // we haven't moved relative to the model, send the old measurement back.
    else if (lastDistance > newDistance && lastLevel == 0)
        level = lastLevel; // we're already at the lowest setting and we just got closer to the model, no need to keep trying.
    else if (lastDistance < newDistance && lastLevel == numLevels - 1)
        level = lastLevel; // we're already at the highest setting and we just got further from the model, no need to keep trying.
    else{
        lastDistance = newDistance;

        // estimate area of polygon via bounding volume
        float area = AreaUtils.calcScreenArea(bv, lastDistance, cam.getWidth());
        float trisToDraw = area * trisPerPixel;
        level = numLevels - 1;
        for (int i = numLevels; --i >= 0;){
            if (trisToDraw - numTris[i] < 0){
                break;
            }
            level = i;
        }
        lastLevel = level;
    }

    spatial.setLodLevel(level);
}
 
開發者ID:mleoking,項目名稱:PhET,代碼行數:34,代碼來源:LodControl.java

示例4: controlRender

import com.jme3.renderer.ViewPort; //導入方法依賴的package包/類
protected void controlRender(RenderManager rm, ViewPort vp) {
    cam = vp.getCamera();
    newDistance = spatial.getWorldBound().getCenter().distance(cam.getLocation());
    int level = Mathz.clamp(  (int) newDistance / 200, 0, numLevels-1 );
    spatial.setLodLevel(level);
}
 
開發者ID:twak,項目名稱:chordatlas,代碼行數:7,代碼來源:GISLodControl.java

示例5: controlRender

import com.jme3.renderer.ViewPort; //導入方法依賴的package包/類
@Override
protected void controlRender(RenderManager rm, ViewPort vp) {
    Camera cam = vp.getCamera();
    rotateBillboard(cam);
}
 
開發者ID:mleoking,項目名稱:PhET,代碼行數:6,代碼來源:BillboardControl.java

示例6: controlRender

import com.jme3.renderer.ViewPort; //導入方法依賴的package包/類
@Override
protected void controlRender(RenderManager rm, ViewPort vp) {
    camera = vp.getCamera();
}
 
開發者ID:huliqing,項目名稱:LuoYing,代碼行數:5,代碼來源:AutoScaleControl.java


注:本文中的com.jme3.renderer.ViewPort.getCamera方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。