Java 类net.minecraftforge.client.model.pipeline.VertexLighterFlat 实例源码
项目:Hard-Science
文件:PerQuadModelRenderer.java
/** always returns true for convenience */
private VertexLighterFlat setupFlat(IBlockAccess world, IBakedModel model, IBlockState state, BlockPos pos, BufferBuilder buffer)
{
VertexLighterFlat lighter = this.lighterFlat.get();
if(buffer != this.lastRendererFlat.get())
{
this.lastRendererFlat.set(buffer);
VertexBufferConsumer newCons = new VertexBufferConsumer(buffer);
this.wrFlat.set(newCons);
lighter.setParent(newCons);
}
this.wrFlat.get().setOffset(pos);
lighter.setWorld(world);
lighter.setState(state);
lighter.setBlockPos(pos);
lighter.updateBlockInfo();
return lighter;
}
项目:Hard-Science
文件:PerQuadModelRenderer.java
/** always returns true for convenience */
private VertexLighterFlat setupSmooth(IBlockAccess world, IBakedModel model, IBlockState state, BlockPos pos, BufferBuilder buffer)
{
VertexLighterFlat lighter = this.lighterSmooth.get();
if(buffer != this.lastRendererSmooth.get())
{
this.lastRendererSmooth.set(buffer);
VertexBufferConsumer newCons = new VertexBufferConsumer(buffer);
this.wrSmooth.set(newCons);
lighter.setParent(newCons);
}
this.wrSmooth.get().setOffset(pos);
lighter.setWorld(world);
lighter.setState(state);
lighter.setBlockPos(pos);
lighter.updateBlockInfo();
return lighter;
}
项目:CrystalMod
文件:CoverRender.java
public static VertexLighterFlat setupLighter(VertexBuffer buffer, final IBlockState state, final IBlockAccess access, final BlockPos pos, final IBakedModel model) {
final boolean renderAO = Minecraft.isAmbientOcclusionEnabled() && state.getLightValue(access, pos) == 0 && (model == null ? false : model.isAmbientOcclusion());
final VertexLighterFlat lighter = renderAO ? lighterSmooth.get() : lighterFlat.get();
VertexBufferConsumer consumer = new VertexBufferConsumer(buffer);
lighter.setParent(consumer);
consumer.setOffset(pos);
return lighter;
}
项目:CrystalMod
文件:CoverRender.java
public static boolean renderBlockQuads(final VertexLighterFlat lighter, final IBlockAccess access, final IBlockState state, final List<CustomBakedQuad> quads, final BlockPos pos) {
if (!quads.isEmpty()) {
lighter.setWorld(access);
lighter.setState(state);
lighter.setBlockPos(pos);
for (final CustomBakedQuad quad : quads) {
lighter.updateBlockInfo();
quad.pipe(lighter);
}
return true;
}
return false;
}
项目:CrystalMod
文件:CoverRender.java
public static boolean renderBakedCoverQuads(VertexBuffer buffer, IBlockAccess world, BlockPos pos, IBlockState state, int side, AxisAlignedBB bounds, final CoverCutter.ITransformer[] cutType){
final EnumFacing face = EnumFacing.getFront(side);
final IBlockAccess coverAccess = new PipeBlockAccessWrapper(world, pos, face);
final BlockRendererDispatcher dispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
try {
state = state.getActualState(coverAccess, pos);
}
catch (Exception ex) {}
final IBakedModel model = dispatcher.getModelForState(state);
try {
state = state.getBlock().getExtendedState(state, coverAccess, pos);
}
catch (Exception ex2) {}
final List<BakedQuad> bakedQuads = new LinkedList<BakedQuad>();
final long posRand = MathHelper.getPositionRandom(pos);
bakedQuads.addAll(model.getQuads(state, (EnumFacing)null, posRand));
for (final EnumFacing face2 : EnumFacing.VALUES) {
bakedQuads.addAll(model.getQuads(state, face2, posRand));
}
List<CustomBakedQuad> quads = CustomBakedQuad.fromArray(bakedQuads);
if (cutType != null) {
quads = CoverCutter.cut(quads, side, cutType);
}
quads = sliceQuads(quads, side, bounds);
if (!quads.isEmpty()) {
final VertexLighterFlat lighter = setupLighter(buffer, state, coverAccess, pos, model);
return renderBlockQuads(lighter, coverAccess, state, quads, pos);
}
return false;
}
项目:CustomWorldGen
文件:AnimationModelBase.java
public AnimationModelBase(ResourceLocation modelLocation, VertexLighterFlat lighter)
{
this.modelLocation = modelLocation;
this.lighter = lighter;
}
项目:Hard-Science
文件:PerQuadModelRenderer.java
@Override
protected VertexLighterFlat initialValue()
{
return new VertexLighterFlat(colors);
}