Work in progress projector fixes
This commit is contained in:
@@ -77,11 +77,12 @@ public final class ProjectorDepthRenderer {
|
||||
private static final float PROJECTOR_FAR = ProjectorBlockEntity.MAX_RENDER_DISTANCE;
|
||||
private static final int HALF_FRUSTUM_WIDTH = (ProjectorBlockEntity.MAX_WIDTH - 1) / 2;
|
||||
private static final int FRUSTUM_HEIGHT = ProjectorBlockEntity.MAX_HEIGHT - 1;
|
||||
private static final Matrix4f DEPTH_CAMERA_PROJECTION_MATRIX = getFrustumMatrix(
|
||||
private static final Matrix4f DEPTH_CAMERA_PROJECTION_MATRIX = (new Matrix4f()).setFrustum(-HALF_FRUSTUM_WIDTH*2, HALF_FRUSTUM_WIDTH*2, FRUSTUM_HEIGHT, -FRUSTUM_HEIGHT, PROJECTOR_NEAR, PROJECTOR_FAR);
|
||||
/*getFrustumMatrix(
|
||||
PROJECTOR_NEAR, PROJECTOR_FAR,
|
||||
ProjectorBlockEntity.MAX_GOOD_RENDER_DISTANCE,
|
||||
-HALF_FRUSTUM_WIDTH, HALF_FRUSTUM_WIDTH,
|
||||
FRUSTUM_HEIGHT, 0);
|
||||
FRUSTUM_HEIGHT, 0);*/
|
||||
|
||||
private static final Cache<ProjectorBlockEntity, RenderInfo> RENDER_INFO = CacheBuilder.newBuilder()
|
||||
.expireAfterAccess(Duration.ofSeconds(5))
|
||||
@@ -412,14 +413,18 @@ public final class ProjectorDepthRenderer {
|
||||
|
||||
private static void prepareOrthographicRendering(final Minecraft minecraft) {
|
||||
float f = 3000 - 1000;
|
||||
final Matrix4f screenProjectionMatrix = new Matrix4f(2.0F / minecraft.getWindow().getWidth(), 0f, 0f, -1f, 0f, 2.0f / -minecraft.getWindow().getHeight(), 0f, 1f, 0f, 0f, -2.0f / f, -(3000 + 1000) / f, 0f, 0f, 0f, 1f);
|
||||
/*new Matrix4f().orthoSymmetric(
|
||||
final Matrix4f screenProjectionMatrix = (new Matrix4f()).setOrtho(0f, minecraft.getWindow().getWidth(), minecraft.getWindow().getHeight(), 0f, 1000, 3000);
|
||||
|
||||
// new Matrix4f(2.0F / minecraft.getWindow().getWidth(), 0f, 0f, -1f, 0f, 2.0f / -minecraft.getWindow().getHeight(), 0f, 1f, 0f, 0f, -2.0f / f, -(3000 + 1000) / f, 0f, 0f, 0f, 1f);
|
||||
/*new Matrix4f().orthoSymmetric(
|
||||
minecraft.getWindow().getWidth(),
|
||||
-minecraft.getWindow().getHeight(),
|
||||
0, 5000
|
||||
);*/
|
||||
|
||||
RenderSystem.setProjectionMatrix(screenProjectionMatrix, VertexSorting.DISTANCE_TO_ORIGIN);
|
||||
//screenProjectionMatrix.reflect(new Vector3f(), new Vector3f());
|
||||
|
||||
RenderSystem.setProjectionMatrix(screenProjectionMatrix, VertexSorting.ORTHOGRAPHIC_Z);
|
||||
|
||||
final PoseStack modelViewStack = RenderSystem.getModelViewStack();
|
||||
modelViewStack.setIdentity();
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
package li.cil.oc2.common.item;
|
||||
|
||||
import li.cil.oc2.common.util.TextFormatUtils;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
||||
public class CPUItem extends ModItem {
|
||||
|
||||
private final int frequency;
|
||||
@@ -13,4 +17,23 @@ public class CPUItem extends ModItem {
|
||||
{
|
||||
return frequency;
|
||||
}
|
||||
|
||||
public String getFrequencyString()
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(frequency/1_000_000);
|
||||
builder.append(" MHz");
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Component getName(final ItemStack stack) {
|
||||
return Component.literal("")
|
||||
.append(super.getName(stack))
|
||||
.append(" (")
|
||||
.append(getFrequencyString())
|
||||
.append(")");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user