Anti-comments sweep!

This commit is contained in:
Tombenpotter 2014-10-13 22:33:20 +02:00
parent e6a10f3f06
commit dea1f87078
454 changed files with 23594 additions and 26739 deletions

View file

@ -2,183 +2,195 @@
* This class was created by <Vazkii>. It's distributed as
* part of the Botania Mod. Get the Source Code in github:
* https://github.com/Vazkii/Botania
*
*
* Botania is Open Source and distributed under a
* Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
* (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB)
*
*
* File Created @ [Apr 9, 2014, 11:20:26 PM (GMT)]
*/
package WayofTime.alchemicalWizardry.common.renderer.block;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.logging.Level;
import org.lwjgl.opengl.ARBFragmentShader;
import org.lwjgl.opengl.ARBShaderObjects;
import org.lwjgl.opengl.ARBVertexShader;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.common.FMLLog;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public final class ShaderHelper {
public final class ShaderHelper
{
private static final int VERT = ARBVertexShader.GL_VERTEX_SHADER_ARB;
private static final int FRAG = ARBFragmentShader.GL_FRAGMENT_SHADER_ARB;
private static final int VERT = ARBVertexShader.GL_VERTEX_SHADER_ARB;
private static final int FRAG = ARBFragmentShader.GL_FRAGMENT_SHADER_ARB;
public static int beam = 0;
public static void initShaders() {
// if(!useShaders())
// return;
beam = createProgram(null, "/assets/alchemicalwizardry/shaders/beam.frag");
}
public static int beam = 0;
public static void useShaderWithProps(int shader, Object... props) {
// if(!useShaders())
// return;
ARBShaderObjects.glUseProgramObjectARB(shader);
public static void initShaders()
{
beam = createProgram(null, "/assets/alchemicalwizardry/shaders/beam.frag");
}
if(shader != 0 && props.length % 2 == 0) {
int propCount = props.length / 2;
for(int i = 0; i < propCount; i++) {
String propName = (String) props[i * 2];
Object propVal = props[i * 2 + 1];
int uniform = ARBShaderObjects.glGetUniformLocationARB(shader, propName);
if(propVal instanceof Integer)
ARBShaderObjects.glUniform1iARB(uniform, (Integer) propVal);
if(propVal instanceof Float)
ARBShaderObjects.glUniform1fARB(uniform, (Float) propVal);
// Possible Vector2, Vector3 and Vector4, no need yet.
}
}
}
public static void useShader(int shader) {
useShaderWithProps(shader);
}
public static void useShaderWithProps(int shader, Object... props)
{
ARBShaderObjects.glUseProgramObjectARB(shader);
public static void releaseShader() {
useShader(0);
}
public static boolean useShaders() {
return true;//ConfigHandler.useShaders && OpenGlHelper.shadersSupported;
}
// Most of the code taken from the LWJGL wiki
// http://lwjgl.org/wiki/index.php?title=GLSL_Shaders_with_LWJGL
if (shader != 0 && props.length % 2 == 0)
{
int propCount = props.length / 2;
for (int i = 0; i < propCount; i++)
{
String propName = (String) props[i * 2];
Object propVal = props[i * 2 + 1];
private static int createProgram(String vert, String frag) {
int vertId = 0, fragId = 0, program = 0;
if(vert != null)
vertId = createShader(vert, VERT);
if(frag != null)
fragId = createShader(frag, FRAG);
int uniform = ARBShaderObjects.glGetUniformLocationARB(shader, propName);
if (propVal instanceof Integer)
ARBShaderObjects.glUniform1iARB(uniform, (Integer) propVal);
if (propVal instanceof Float)
ARBShaderObjects.glUniform1fARB(uniform, (Float) propVal);
}
}
}
program = ARBShaderObjects.glCreateProgramObjectARB();
if(program == 0)
return 0;
public static void useShader(int shader)
{
useShaderWithProps(shader);
}
if(vert != null)
ARBShaderObjects.glAttachObjectARB(program, vertId);
if(frag != null)
ARBShaderObjects.glAttachObjectARB(program, fragId);
public static void releaseShader()
{
useShader(0);
}
ARBShaderObjects.glLinkProgramARB(program);
if(ARBShaderObjects.glGetObjectParameteriARB(program, ARBShaderObjects.GL_OBJECT_LINK_STATUS_ARB) == GL11.GL_FALSE) {
// FMLLog.log(Level.WARNING, getLogInfo(program));
return 0;
}
ARBShaderObjects.glValidateProgramARB(program);
if (ARBShaderObjects.glGetObjectParameteriARB(program, ARBShaderObjects.GL_OBJECT_VALIDATE_STATUS_ARB) == GL11.GL_FALSE) {
// FMLLog.log(Level.WARNING, getLogInfo(program));
return 0;
}
return program;
}
public static boolean useShaders()
{
return true;
}
private static int createShader(String filename, int shaderType){
int shader = 0;
try {
shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType);
// Most of the code taken from the LWJGL wiki
// http://lwjgl.org/wiki/index.php?title=GLSL_Shaders_with_LWJGL
private static int createProgram(String vert, String frag)
{
int vertId = 0, fragId = 0, program = 0;
if (vert != null)
vertId = createShader(vert, VERT);
if (frag != null)
fragId = createShader(frag, FRAG);
if(shader == 0)
return 0;
program = ARBShaderObjects.glCreateProgramObjectARB();
if (program == 0)
return 0;
ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename));
ARBShaderObjects.glCompileShaderARB(shader);
if (vert != null)
ARBShaderObjects.glAttachObjectARB(program, vertId);
if (frag != null)
ARBShaderObjects.glAttachObjectARB(program, fragId);
if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE)
throw new RuntimeException("Error creating shader: " + getLogInfo(shader));
ARBShaderObjects.glLinkProgramARB(program);
if (ARBShaderObjects.glGetObjectParameteriARB(program, ARBShaderObjects.GL_OBJECT_LINK_STATUS_ARB) == GL11.GL_FALSE)
{
return 0;
}
return shader;
}
catch(Exception e) {
ARBShaderObjects.glDeleteObjectARB(shader);
e.printStackTrace();
return -1;
}
}
ARBShaderObjects.glValidateProgramARB(program);
if (ARBShaderObjects.glGetObjectParameteriARB(program, ARBShaderObjects.GL_OBJECT_VALIDATE_STATUS_ARB) == GL11.GL_FALSE)
{
return 0;
}
private static String getLogInfo(int obj) {
return ARBShaderObjects.glGetInfoLogARB(obj, ARBShaderObjects.glGetObjectParameteriARB(obj, ARBShaderObjects.GL_OBJECT_INFO_LOG_LENGTH_ARB));
}
return program;
}
private static String readFileAsString(String filename) throws Exception {
StringBuilder source = new StringBuilder();
InputStream in = ShaderHelper.class.getResourceAsStream(filename);
Exception exception = null;
BufferedReader reader;
private static int createShader(String filename, int shaderType)
{
int shader = 0;
try
{
shader = ARBShaderObjects.glCreateShaderObjectARB(shaderType);
if(in == null)
return "";
try {
reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
if (shader == 0)
return 0;
Exception innerExc= null;
try {
String line;
while((line = reader.readLine()) != null)
source.append(line).append('\n');
} catch(Exception exc) {
exception = exc;
} finally {
try {
reader.close();
} catch(Exception exc) {
if(innerExc == null)
innerExc = exc;
else exc.printStackTrace();
}
}
ARBShaderObjects.glShaderSourceARB(shader, readFileAsString(filename));
ARBShaderObjects.glCompileShaderARB(shader);
if(innerExc != null)
throw innerExc;
} catch(Exception exc) {
exception = exc;
} finally {
try {
in.close();
} catch(Exception exc) {
if(exception == null)
exception = exc;
else exc.printStackTrace();
}
if (ARBShaderObjects.glGetObjectParameteriARB(shader, ARBShaderObjects.GL_OBJECT_COMPILE_STATUS_ARB) == GL11.GL_FALSE)
throw new RuntimeException("Error creating shader: " + getLogInfo(shader));
if(exception != null)
throw exception;
}
return shader;
} catch (Exception e)
{
ARBShaderObjects.glDeleteObjectARB(shader);
e.printStackTrace();
return -1;
}
}
return source.toString();
}
private static String getLogInfo(int obj)
{
return ARBShaderObjects.glGetInfoLogARB(obj, ARBShaderObjects.glGetObjectParameteriARB(obj, ARBShaderObjects.GL_OBJECT_INFO_LOG_LENGTH_ARB));
}
private static String readFileAsString(String filename) throws Exception
{
StringBuilder source = new StringBuilder();
InputStream in = ShaderHelper.class.getResourceAsStream(filename);
Exception exception = null;
BufferedReader reader;
if (in == null)
return "";
try
{
reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
Exception innerExc = null;
try
{
String line;
while ((line = reader.readLine()) != null)
source.append(line).append('\n');
} catch (Exception exc)
{
exception = exc;
} finally
{
try
{
reader.close();
} catch (Exception exc)
{
if (innerExc == null)
innerExc = exc;
else exc.printStackTrace();
}
}
if (innerExc != null)
throw innerExc;
} catch (Exception exc)
{
exception = exc;
} finally
{
try
{
in.close();
} catch (Exception exc)
{
if (exception == null)
exception = exc;
else exc.printStackTrace();
}
if (exception != null)
throw exception;
}
return source.toString();
}
}