Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class BasicRenderUtil {
- public static void push() {
- GL11.glPushMatrix();
- }
- public static void pop() {
- GL11.glPopMatrix();
- }
- public static void enable(int enable) {
- GL11.glEnable(enable);
- }
- public static void disable(int disable) {
- GL11.glDisable(disable);
- }
- public static void begin(int mode) {
- GL11.glBegin(mode);
- }
- public static void end() {
- GL11.glEnd();
- }
- public static void vertex(double x, double y) {
- GL11.glVertex2d(x, y);
- }
- public static void vertex(float x, float y) {
- GL11.glVertex2f(x, y);
- }
- public static void vertex(int x, int y) {
- GL11.glVertex2i(x, y);
- }
- public static void blend(int one, int two) {
- GL11.glBlendFunc(one, two);
- }
- public static void color(Color color) {
- GlStateManager.color(
- color.getRed() / 255.0F,
- color.getGreen() / 255.0F,
- color.getBlue() / 255.0F,
- color.getAlpha() / 255.0F
- );
- }
- public static void start() {
- push();
- enable(GL_BLEND);
- blend(
- GL_SRC_ALPHA,
- GL_ONE_MINUS_SRC_ALPHA
- );
- GlStateManager.disableTexture2D();
- GlStateManager.disableCull();
- GlStateManager.disableAlpha();
- GlStateManager.disableDepth();
- }
- public static void stop() {
- GlStateManager.enableAlpha();
- GlStateManager.enableDepth();
- GlStateManager.enableCull();
- GlStateManager.enableTexture2D();
- disable(GL_BLEND);
- color(Color.WHITE);
- pop();
- }
- public static void rectangle(double x, double y, double width, double height, boolean filled, Color color) {
- start();
- if (color != null)
- color(color);
- begin(filled ? GL_TRIANGLE_FAN : GL_LINE_LOOP);
- {
- vertex(x, y);
- vertex(x + width, y);
- vertex(x + width, y + height);
- vertex(x, y + height);
- }
- end();
- stop();
- }
- public static void scale(float x, float y, float scale, Runnable runnable) {
- GlStateManager.pushMatrix();
- glTranslatef(x, y, 1);
- glScalef(scale, scale, 1);
- glTranslatef(-x, -y, 1);
- runnable.run();
- GlStateManager.popMatrix();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement