67 lines
1.6 KiB
Java
67 lines
1.6 KiB
Java
package com.danitheskunk.skunkworks;
|
|
|
|
import static org.lwjgl.opengl.GL11.*;
|
|
|
|
public class GLRenderContext implements IRenderContext{
|
|
@Override
|
|
public void drawRectangle(Recti rect, Color color) {
|
|
var tl = rect.getTopLeft();
|
|
var tr = rect.getTopRight();
|
|
var bl = rect.getBottomLeft();
|
|
var br = rect.getBottomRight();
|
|
|
|
//todo: make work with enabled textures
|
|
|
|
glColor4f(
|
|
color.getR() / 255.0f,
|
|
color.getG() / 255.0f,
|
|
color.getB() / 255.0f,
|
|
color.getA() / 255.0f
|
|
);
|
|
|
|
//counter clockwise triangles
|
|
glVertex2i(bl.getX(), bl.getY());
|
|
glVertex2i(tr.getX(), tr.getY());
|
|
glVertex2i(tl.getX(), tl.getY());
|
|
|
|
glVertex2i(tr.getX(), tr.getY());
|
|
glVertex2i(bl.getX(), bl.getY());
|
|
glVertex2i(br.getX(), bl.getY());
|
|
}
|
|
|
|
@Override
|
|
public void drawTextureRectangle(Recti rect, ITexture texture) {
|
|
drawTextureRectangle(rect, texture, Color.WHITE);
|
|
}
|
|
|
|
@Override
|
|
public void drawTextureRectangle(Recti rect, ITexture texture, Color color) {
|
|
var tl = rect.getTopLeft();
|
|
var tr = rect.getTopRight();
|
|
var bl = rect.getBottomLeft();
|
|
var br = rect.getBottomRight();
|
|
|
|
glColor4f(
|
|
color.getR() / 255.0f,
|
|
color.getG() / 255.0f,
|
|
color.getB() / 255.0f,
|
|
color.getA() / 255.0f
|
|
);
|
|
|
|
//counter clockwise triangles
|
|
glTexCoord2f(0.0f, 1.0f);
|
|
glVertex2i(bl.getX(), bl.getY());
|
|
glTexCoord2f(1.0f, 0.0f);
|
|
glVertex2i(tr.getX(), tr.getY());
|
|
glTexCoord2f(0.0f, 0.0f);
|
|
glVertex2i(tl.getX(), tl.getY());
|
|
|
|
glTexCoord2f(1.0f, 0.0f);
|
|
glVertex2i(tr.getX(), tr.getY());
|
|
glTexCoord2f(0.0f, 1.0f);
|
|
glVertex2i(bl.getX(), bl.getY());
|
|
glTexCoord2f(1.0f, 1.0f);
|
|
glVertex2i(br.getX(), bl.getY());
|
|
}
|
|
}
|