LIBGDX学习]LibGDX代码详解(四十三)Bullet 镜头扫描

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.PerspectiveCamera;
import com.badlogic.gdx.graphics.VertexAttribute;
import com.badlogic.gdx.graphics.VertexAttributes.Usage;
import com.badlogic.gdx.graphics.g3d.Material;
import com.badlogic.gdx.graphics.g3d.Model;
import com.badlogic.gdx.graphics.g3d.attributes.ColorAttribute;
import com.badlogic.gdx.graphics.g3d.utils.MeshPartBuilder;
import com.badlogic.gdx.graphics.g3d.utils.ModelBuilder;
import com.badlogic.gdx.math.Matrix4;
import com.badlogic.gdx.math.Vector3;
import com.badlogic.gdx.physics.bullet.collision.btBroadphasePairArray;
import com.badlogic.gdx.physics.bullet.collision.btCollisionDispatcher;
import com.badlogic.gdx.physics.bullet.collision.btCollisionObject;
import com.badlogic.gdx.physics.bullet.collision.btCollisionShape;
import com.badlogic.gdx.physics.bullet.collision.btCollisionWorld;
import com.badlogic.gdx.physics.bullet.collision.btCompoundShape;
import com.badlogic.gdx.physics.bullet.collision.btConvexHullShape;
import com.badlogic.gdx.physics.bullet.collision.btDbvtBroadphase;
import com.badlogic.gdx.physics.bullet.collision.btDefaultCollisionConfiguration;
import com.badlogic.gdx.physics.bullet.collision.btPairCachingGhostObject;
import com.badlogic.gdx.physics.bullet.collision.btPersistentManifoldArray;
import com.badlogic.gdx.utils.Array;

/** @author Xoppa */
// 摄像机视野选择?
public class FrustumCullingTest extends BaseBulletTest {
    /** Only show entities inside the frustum */
    final static int CULL_FRUSTUM = 1;
    /** Transform the render cam with the frustum */
    final static int FRUSTUM_CAM = 2;

    final static boolean USE_BULLET_FRUSTUM_CULLING = true;

    int state = 0; // 0 = No culling, look from above

    final static int BOXCOUNT = 200;

    final static float BOX_X_MIN = -25;
    final static float BOX_Y_MIN = -25;
    final static float BOX_Z_MIN = -25;

    final static float BOX_X_MAX = 25;
    final static float BOX_Y_MAX = 25;
    final static float BOX_Z_MAX = 25;

    final static float SPEED_X = 360f / 7f;
    final static float SPEED_Y = 360f / 19f;
    final static float SPEED_Z = 360f / 13f;

    final static Vector3 tmpV = new Vector3();
    final static Matrix4 tmpM = new Matrix4();

    final static int ptrs[] = new int[512];
    final static Array<btCollisionObject> visibleObjects = new Array<btCollisionObject>();

    pu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值