@Override
public void enableGrayscaleShader() {
if (OpenGlHelper.shadersSupported) {
Minecraft mc = Minecraft.getMinecraft();
EntityRenderer entityRenderer = mc.entityRenderer;
if (entityRenderer.theShaderGroup != null) {
entityRenderer.theShaderGroup.deleteShaderGroup();
}
try {
entityRenderer.theShaderGroup = new ShaderGroup(mc.getTextureManager(), mc.getResourceManager(), mc.getFramebuffer(), this.shader);
entityRenderer.theShaderGroup.createBindFramebuffers(mc.displayWidth, mc.displayHeight);
} catch (IOException ioexception) {
Corruption.logger.warn("Failed to load shader: ", ioexception);
}
}
}
java类net.minecraft.client.renderer.EntityRenderer的实例源码
ClientProxy.java 文件源码
项目:Corruption
阅读 22
收藏 0
点赞 0
评论 0
ColourBlindCorruption.java 文件源码
项目:Corruption
阅读 18
收藏 0
点赞 0
评论 0
@Override
public void onUpdate(EntityPlayer player, Side side) {
if (side.isServer()) {
this.playerCount.add(player.getCommandSenderName());
}
else if(side.isClient() && FMLClientHandler.instance().getClientPlayerEntity().getCommandSenderName().equals(player)) {
curTick++;
if(curTick == 10){
curTick = 0;
if (OpenGlHelper.shadersSupported) {
EntityRenderer entityRenderer = Minecraft.getMinecraft().entityRenderer;
if(entityRenderer.theShaderGroup.getShaderGroupName() != new ResourceLocation("corruption", "grayscale.json").toString()){
Corruption.proxy.enableGrayscaleShader();
}
}
}
}
}
WorldLightingHandler.java 文件源码
项目:TechnicBlocks
阅读 15
收藏 0
点赞 0
评论 0
@Override
public void preDrawFace(IRenderContext renderContext, ForgeDirection dir, boolean internal, float startX, float startY, float endX, float endY, RenderBlocks blocks, Tessellator tessellator, int rotations) {
int multiplierValue = renderContext.getColorMultiplier();
float colorR = (float)(multiplierValue >> 16 & 255) / 255.0F;
float colorG = (float)(multiplierValue >> 8 & 255) / 255.0F;
float colorB = (float)(multiplierValue & 255) / 255.0F;
if (EntityRenderer.anaglyphEnable)
{
float tempR = (colorR * 30.0F + colorG * 59.0F + colorB * 11.0F) / 100.0F;
float tempG = (colorR * 30.0F + colorG * 70.0F) / 100.0F;
float tempB = (colorR * 30.0F + colorB * 70.0F) / 100.0F;
colorR = tempR;
colorG = tempG;
colorB = tempB;
}
if (Minecraft.isAmbientOcclusionEnabled() && renderContext.getLightValue() == 0)
this.ambientOcclusionPreDraw(renderContext, dir, internal, blocks, tessellator, startX, startY, endX, endY, colorR, colorG, colorB, rotations);
else
this.colorMultiplierPreDraw(renderContext, dir, internal, blocks, tessellator, colorR, colorG, colorB);
}
RenderHelper.java 文件源码
项目:GardenCollection
阅读 30
收藏 0
点赞 0
评论 0
public static void calculateBaseColor (float[] target, int color) {
float r = (float)(color >> 16 & 255) / 255f;
float g = (float)(color >> 8 & 255) / 255f;
float b = (float)(color & 255) / 255f;
if (EntityRenderer.anaglyphEnable) {
float gray = (r * 30f + g * 59f + b * 11f) / 100f;
float rg = (r * 30f + g * 70f) / 100f;
float rb = (r * 30f + b * 70f) / 100f;
r = gray;
g = rg;
b = rb;
}
target[0] = r;
target[1] = g;
target[2] = b;
}
HeavyChainRenderer.java 文件源码
项目:GardenCollection
阅读 14
收藏 0
点赞 0
评论 0
private void renderCrossedSquares (RenderBlocks renderer, Block block, int x, int y, int z)
{
Tessellator tessellator = Tessellator.instance;
tessellator.setBrightness(block.getMixedBrightnessForBlock(renderer.blockAccess, x, y, z));
int l = block.colorMultiplier(renderer.blockAccess, x, y, z);
float f = (float)(l >> 16 & 255) / 255.0F;
float f1 = (float)(l >> 8 & 255) / 255.0F;
float f2 = (float)(l & 255) / 255.0F;
if (EntityRenderer.anaglyphEnable)
{
float f3 = (f * 30.0F + f1 * 59.0F + f2 * 11.0F) / 100.0F;
float f4 = (f * 30.0F + f1 * 70.0F) / 100.0F;
float f5 = (f * 30.0F + f2 * 70.0F) / 100.0F;
f = f3;
f1 = f4;
f2 = f5;
}
tessellator.setColorOpaque_F(f, f1, f2);
IIcon iicon = renderer.getBlockIconFromSideAndMetadata(block, 0, renderer.blockAccess.getBlockMetadata(x, y, z));
drawCrossedSquares(renderer, iicon, x, y, z, 1.0F);
}
RenderBlocks.java 文件源码
项目:RuneCraftery
阅读 23
收藏 0
点赞 0
评论 0
public boolean func_85096_a(BlockAnvil p_85096_1_, int p_85096_2_, int p_85096_3_, int p_85096_4_, int p_85096_5_) {
Tessellator var6 = Tessellator.field_78398_a;
var6.func_78380_c(p_85096_1_.func_71874_e(this.field_78669_a, p_85096_2_, p_85096_3_, p_85096_4_));
float var7 = 1.0F;
int var8 = p_85096_1_.func_71920_b(this.field_78669_a, p_85096_2_, p_85096_3_, p_85096_4_);
float var9 = (float)(var8 >> 16 & 255) / 255.0F;
float var10 = (float)(var8 >> 8 & 255) / 255.0F;
float var11 = (float)(var8 & 255) / 255.0F;
if(EntityRenderer.field_78517_a) {
float var12 = (var9 * 30.0F + var10 * 59.0F + var11 * 11.0F) / 100.0F;
float var13 = (var9 * 30.0F + var10 * 70.0F) / 100.0F;
float var14 = (var9 * 30.0F + var11 * 70.0F) / 100.0F;
var9 = var12;
var10 = var13;
var11 = var14;
}
var6.func_78386_a(var7 * var9, var7 * var10, var7 * var11);
return this.func_82776_a(p_85096_1_, p_85096_2_, p_85096_3_, p_85096_4_, p_85096_5_, false);
}
RenderBlocks.java 文件源码
项目:RuneCraftery
阅读 23
收藏 0
点赞 0
评论 0
public boolean func_78570_q(Block p_78570_1_, int p_78570_2_, int p_78570_3_, int p_78570_4_) {
int var5 = p_78570_1_.func_71920_b(this.field_78669_a, p_78570_2_, p_78570_3_, p_78570_4_);
float var6 = (float)(var5 >> 16 & 255) / 255.0F;
float var7 = (float)(var5 >> 8 & 255) / 255.0F;
float var8 = (float)(var5 & 255) / 255.0F;
if(EntityRenderer.field_78517_a) {
float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F;
float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F;
float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F;
var6 = var9;
var7 = var10;
var8 = var11;
}
return Minecraft.func_71379_u() && Block.field_71984_q[p_78570_1_.field_71990_ca] == 0?(this.field_98189_n?this.func_102027_b(p_78570_1_, p_78570_2_, p_78570_3_, p_78570_4_, var6, var7, var8):this.func_78578_a(p_78570_1_, p_78570_2_, p_78570_3_, p_78570_4_, var6, var7, var8)):this.func_78609_c(p_78570_1_, p_78570_2_, p_78570_3_, p_78570_4_, var6, var7, var8);
}
RenderBlocks.java 文件源码
项目:RuneCraftery
阅读 26
收藏 0
点赞 0
评论 0
public boolean func_78584_s(Block p_78584_1_, int p_78584_2_, int p_78584_3_, int p_78584_4_) {
int var5 = p_78584_1_.func_71920_b(this.field_78669_a, p_78584_2_, p_78584_3_, p_78584_4_);
float var6 = (float)(var5 >> 16 & 255) / 255.0F;
float var7 = (float)(var5 >> 8 & 255) / 255.0F;
float var8 = (float)(var5 & 255) / 255.0F;
if(EntityRenderer.field_78517_a) {
float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F;
float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F;
float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F;
var6 = var9;
var7 = var10;
var8 = var11;
}
return this.func_78569_d(p_78584_1_, p_78584_2_, p_78584_3_, p_78584_4_, var6, var7, var8);
}
RenderBlocks.java 文件源码
项目:RuneCraftery
阅读 25
收藏 0
点赞 0
评论 0
public boolean func_94172_a(BlockHopper p_94172_1_, int p_94172_2_, int p_94172_3_, int p_94172_4_) {
Tessellator var5 = Tessellator.field_78398_a;
var5.func_78380_c(p_94172_1_.func_71874_e(this.field_78669_a, p_94172_2_, p_94172_3_, p_94172_4_));
float var6 = 1.0F;
int var7 = p_94172_1_.func_71920_b(this.field_78669_a, p_94172_2_, p_94172_3_, p_94172_4_);
float var8 = (float)(var7 >> 16 & 255) / 255.0F;
float var9 = (float)(var7 >> 8 & 255) / 255.0F;
float var10 = (float)(var7 & 255) / 255.0F;
if(EntityRenderer.field_78517_a) {
float var11 = (var8 * 30.0F + var9 * 59.0F + var10 * 11.0F) / 100.0F;
float var12 = (var8 * 30.0F + var9 * 70.0F) / 100.0F;
float var13 = (var8 * 30.0F + var10 * 70.0F) / 100.0F;
var8 = var11;
var9 = var12;
var10 = var13;
}
var5.func_78386_a(var6 * var8, var6 * var9, var6 * var10);
return this.func_96447_a(p_94172_1_, p_94172_2_, p_94172_3_, p_94172_4_, this.field_78669_a.func_72805_g(p_94172_2_, p_94172_3_, p_94172_4_), false);
}
SaplingRenderHandler.java 文件源码
项目:ForestryLegacy
阅读 18
收藏 0
点赞 0
评论 0
protected boolean renderCrossedSquares(IAlleleTreeSpecies species, IBlockAccess world, Block block, int x, int y, int z) {
Tessellator tess = Tessellator.instance;
tess.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z));
int colourMultiplier = block.colorMultiplier(world, x, y, z);
float r = (colourMultiplier >> 16 & 255) / 255.0F;
float g = (colourMultiplier >> 8 & 255) / 255.0F;
float b = (colourMultiplier & 255) / 255.0F;
if (EntityRenderer.anaglyphEnable) {
r = (r * 30.0F + g * 59.0F + b * 11.0F) / 100.0F;
g = (r * 30.0F + g * 70.0F) / 100.0F;
b = (r * 30.0F + b * 70.0F) / 100.0F;
}
tess.setColorOpaque_F(r, g, b);
drawCrossedSquares(world, block, x, y, z, x, y, z);
return true;
}