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);
}