Java 类net.minecraft.client.renderer.culling.Frustum 实例源码

项目:WorldProtect    文件:RenderingHandler.java   
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onWorldRender (RenderWorldLastEvent event) {

    if (icon == null)
        icon = RenderUtils.getParticleTexture(new ItemStack(Blocks.STAINED_GLASS));

    final Minecraft mc = Minecraft.getMinecraft();
    final Frustum camera = RenderUtils.getCamera(mc.getRenderViewEntity(), event.getPartialTicks());

    Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);

    for (final BlockPos pos : BlockHandler.PROTECTED)
        if (camera.isBoundingBoxInFrustum(new AxisAlignedBB(pos)))
            this.renderPingOverlay(pos);
}
项目:Hard-Science    文件:ClientProxy.java   
private static void refreshCamera()
{
    Entity entity = Minecraft.getMinecraft().getRenderViewEntity();
    if(entity == null) return;

    float partialTicks = Animation.getPartialTickTime();

    ICamera newCam = new Frustum();
    double d0 = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * partialTicks;
    double d1 = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * partialTicks;
    double d2 = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * partialTicks;
    newCam.setPosition(d0, d1, d2);
    cameraX = d0;
    cameraY = d1;
    cameraZ = d2;
    camera = newCam;
}
项目:WorldProtect    文件:RenderUtils.java   
@SideOnly(Side.CLIENT)
public static Frustum getCamera (Entity renderEntity, float partialTicks) {

    final double cameraX = renderEntity.prevPosX + (renderEntity.posX - renderEntity.prevPosX) * partialTicks;
    final double cameraY = renderEntity.prevPosY + (renderEntity.posY - renderEntity.prevPosY) * partialTicks;
    final double cameraZ = renderEntity.prevPosZ + (renderEntity.posZ - renderEntity.prevPosZ) * partialTicks;

    final Frustum camera = new Frustum();
    camera.setPosition(cameraX, cameraY, cameraZ);
    return camera;
}
项目:Factorization    文件:ChainRender.java   
ICamera getFrustum(float partial) {
    // Unfortunately we have to make our own Frustum.
    final Minecraft mc = Minecraft.getMinecraft();
    final Entity eye = mc.getRenderViewEntity();
    double eyeX = eye.lastTickPosX + (eye.posX - eye.lastTickPosX) * (double)partial;
    double eyeY = eye.lastTickPosY + (eye.posY - eye.lastTickPosY) * (double)partial;
    double eyeZ = eye.lastTickPosZ + (eye.posZ - eye.lastTickPosZ) * (double)partial;

    Frustum frustum = new Frustum(); // Notch can't spell
    frustum.setPosition(eyeX, eyeY, eyeZ);
    return frustum;
}
项目:MMDLib-old    文件:RenderUtils.java   
/**
 * Gets the camera for a specific entity.
 *
 * @param entity The entity to get the camera for.
 * @param partialTicks The partial ticks for the camera.
 * @return The camera for the entity.
 */
public static Frustum getCamera (Entity entity, float partialTicks) {
    final double cameraX = entity.prevPosX + (entity.posX - entity.prevPosX) * partialTicks;
    final double cameraY = entity.prevPosY + (entity.posY - entity.prevPosY) * partialTicks;
    final double cameraZ = entity.prevPosZ + (entity.posZ - entity.prevPosZ) * partialTicks;
    final Frustum camera = new Frustum();
    camera.setPosition(cameraX, cameraY, cameraZ);
    return camera;
}
项目:Bookshelf    文件:RenderUtils.java   
/**
 * Gets the camera for a specific entity.
 *
 * @param entity The entity to get the camera for.
 * @param partialTicks The partial ticks for the camera.
 * @return The camera for the entity.
 */
public static Frustum getCamera (Entity entity, float partialTicks) {

    final double cameraX = entity.prevPosX + (entity.posX - entity.prevPosX) * partialTicks;
    final double cameraY = entity.prevPosY + (entity.posY - entity.prevPosY) * partialTicks;
    final double cameraZ = entity.prevPosZ + (entity.posZ - entity.prevPosZ) * partialTicks;

    final Frustum camera = new Frustum();
    camera.setPosition(cameraX, cameraY, cameraZ);
    return camera;
}
项目:BaseClient    文件:ShadersRender.java   
public static void setFrustrumPosition(Frustum frustrum, double x, double y, double z)
{
    frustrum.setPosition(x, y, z);
}