بلوحة مفاتيح:
عبدالله الشمري
GL11.glBegin(GL11.GL_LINES);
GL11.glVertex2f(0,0);
GL11.glVertex2f(50,100);
GL11.glVertex2f(50,100);
GL11.glVertex2f(200,100);
GL11.glEnd();
لاحظ أننا احتجنا لأربع نقاط لرسم خطين .. في الغالب .. نستخدم هذه الطريقة لرسم خطوط مستقيمة منفصلة .
GL11.glBegin(GL11.GL_LINE_STRIP);
GL11.glVertex2f(400,0);
GL11.glVertex2f(350,100);
GL11.glVertex2f(220,100);
GL11.glEnd();
GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex2i(200, 200);
GL11.glVertex2i(300, 200);
GL11.glVertex2i(300, 300);
GL11.glVertex2i(200, 300);
GL11.glEnd();
GL11.glBegin(GL11.GL_POLYGON);
GL11.glVertex2i(50, 150);
GL11.glVertex2i(150, 150);
GL11.glVertex2i(200, 300);
GL11.glVertex2i(100, 350);
GL11.glVertex2i(0, 300);
GL11.glEnd();
/*
* الهدف من هذا البرنامج رسم أشكال أساسية مثل الخط المستقيم
* والاشكال الرباعية والمضلعات .. كما ستتعرف على كيفية التحكم بسماكة الخط
*/
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.*;
import org.lwjgl.opengl.GL11;
public class OpenGL_03 {
public static void main(String[] args) {
//------------------------- Init + Create Frame (Firstly) --------------------------
Display.setTitle( "My Game");
try
{
Display.setDisplayMode(new DisplayMode(400, 400));
}
catch(Exception a)
{
System.out.println(a);
}
try
{
Display.setFullscreen(false);
}
catch(Exception e)
{
System.out.println(e);
}
try
{
Display.create();
}
catch(Exception e2)
{
System.out.println(e2);
}
//------------------------- Render + Input (Processing ) --------------------------
boolean finished = false;
while (!finished) {
// Check for close requests
if (Display.isCloseRequested()) {
finished = true;
}
if (Keyboard.isKeyDown(Keyboard.KEY_ESCAPE))
finished = true;
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT );
GL11.glColor3f(1,(float) 0.5, 0);
GL11.glLineWidth(2);
GL11.glBegin(GL11.GL_LINES);
GL11.glVertex2f(0,0);
GL11.glVertex2f(50,100);
GL11.glVertex2f(50,100);
GL11.glVertex2f(200,100);
GL11.glEnd();
GL11.glColor3f(1, 1, 0);
GL11.glLineWidth(6);
GL11.glBegin(GL11.GL_LINE_STRIP);
GL11.glVertex2f(400,0);
GL11.glVertex2f(350,100);
GL11.glVertex2f(220,100);
GL11.glEnd();
GL11.glColor3ub((byte)0, (byte)100,(byte) 100);
GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex2i(200, 200);
GL11.glVertex2i(300, 200);
GL11.glVertex2i(300, 300);
GL11.glVertex2i(200, 300);
GL11.glEnd();
GL11.glColor3ub((byte)0, (byte)170,(byte)255);
GL11.glBegin(GL11.GL_POLYGON);
GL11.glVertex2i(50, 150);
GL11.glVertex2i(150, 150);
GL11.glVertex2i(200, 300);
GL11.glVertex2i(100, 350);
GL11.glVertex2i(0, 300);
GL11.glEnd();
Display.update();
}
//------------------------- Release ( Finally ) --------------------------
Display.destroy();
System.exit(0);
}
}