abstract Renderer {
public function drawTriangle(x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float): Void;
public function drawRectangle(x: Float, y: Float, width: Float, height: Float): Void;
}
class OpenGLRenderer {
public function drawTriangle(x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float): Void {
// OpenGL-specific rendering code for drawing a triangle
}
public function drawRectangle(x: Float, y: Float, width: Float, height: Float): Void {
// OpenGL-specific rendering code for drawing a rectangle
}
}
class DirectXRenderer {
public function drawTriangle(x1: Float, y1: Float, x2: Float, y2: Float, x3: Float, y3: Float): Void {
// DirectX-specific rendering code for drawing a triangle
}
public function drawRectangle(x: Float, y: Float, width: Float, height: Float): Void {
// DirectX-specific rendering code for drawing a rectangle
}
}