بلوحة مفاتيح:
عبدالله الشمري
glColor(255,0,0);// تغيير الى اللون الاحمر DrawPoint(); glColor(0,255,0);//تغيير الى اللون الاخضر DrawPoint(); DrawPoint(); glColor(255,0,0);// تغيير الى اللون الاحمر DrawPoint();أتمنى أن تكون استوعبت طريقة عمل OpenGL .
GL11.glBegin(GL11.GL_POINTS); GL11.glVertex2f(10 , 20 ); GL11.glEnd();
glVertex2f( float x ,float y); glVertex2i( int x ,int y ); glVertex2d(double x,double y); glVertex3f(float x,float y,float z); glVertex3i(int x,int y, int z);اذا تلاحظ وجود أكثر من صيغة لهذه الدالة .. النتيجة واحدة .. الفرق هو بنوع البيانات أما عدد صحيح أو كسري .. والاحداثيات اما ان تطلب الاحداثي السيني والصادي . . أو الاحداثي السيني والصادي وعمق النقطة .. اذا اردت رسم نقطة في عالم ثلاثي الابعاد .. الان نريد التركيز على رسم نقاط في عالم ثنائي الابعاد.. لاحظ أن هاتين العبارتين متساويتين
glVertex2f(20,20);// تقوم المكتبة تلقائيا بجعل قيمة اخر بارمتر بالصفر glVertex2f(20,20,0);// هنا أنت من يحدد قيمة اخر بارمتر
glColor3f(r , g, b); glColor4f(r, g, b, a); glColor3ub(r,b,g); glColor4ub(r,g,b,a);
/*
*الهدف من هذا البرنامج هو رسم نقاط بألوانها وحجمها
*/
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.*;
import org.lwjgl.opengl.GL11;
public class OpenGL_02 {
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,0.5, 0);
// تحديد حجم النقطة
GL11.glPointSize(2);
GL11.glBegin(GL11.GL_POINTS);
GL11.glVertex2f(100, 100);
GL11.glVertex3f(250,250,0);
GL11.glEnd();
GL11.glPointSize(5);
GL11.glBegin(GL11.GL_POINTS);
//تغيير اللون الى اللون الاصفر
GL11.glColor3ub((byte)255,(byte)255,(byte)0);
GL11.glVertex3f(200,220,0);
GL11.glEnd();
Display.update();
}
//------------------------- Release ( Finally ) --------------------------
Display.destroy();
System.exit(0);
}
}
لايوجد ما أضيفه .. كل ما تحتاج أن تتقنه هو نظام الاحداثيات كما شرحناه في الدرس السابق .. ونظام الالوان والرسم البسيط في OpenGL .