پروژه اشکال هندسی سه بعدی در اتاق به زبان ++C در محیط ویژوال استدیو و با استفاده از کتاب خانه های گرافیکی opengl طراحی شده است.
در این برنامه چند شیء سه بعدی در یک فضای اتاق قرار داده شده اند که عبارتند از یک توپ بسکتبال و یک کره زمین و چهار جعبه چوبی مکعب، همچنین برای مشخص شدن هر object بافت متناسب با ان (texture) نسبت داده شده است و اتاق مورد نظر به شکل کلبه چوبی قدیمی شبیه سازی شده است.
کاربر می تواند با استفاده از کلید های جهت بالا و پایین و چپ و راست دوربین صحنه (پرسپکتیو) را حرکت داده و نمای متفاوت تری از اتاق را مشاهده کند.
لازم به ذکر است که دوربین از دیوار ها رد نمی شود (تشخیص برخورد) و حرکت دوربین تنها به داخل اتاق محدود شده است.
تکنیک های استفاده شده در این پروژه سه بعدی opengl عبارتند از:
-
با زدن کلید B بزرگ، تکنیک blending اعمال شده و اشیاء محیط به صورت شفاف (شیشه ای) در می آیند.
-
با زدن کلید M (کوچک یا بزرگ) یک آینه در کف اتاق ظاهر می شود که اشیاء موجود در کف اتاق را در خود منعکس می کند (تکنیک انعکاس).
-
با زدن دکمه b کوچک، تکنیک motion blur در صحنه مشاهده می شود (اسلوموشن دوربین slomotion).
-
با زدن دکمه L (کوچک یا بزرگ) نورپردازی در اتاق صورت می گیرد، همچنین پس از زدن دکمه چراق اتاق یعنی L می تواند مولفه های های دیگر نور پردازی مانند انعکاس نور در سطوح شفاف Specular (دکمه S)، نور محیطی Ambient (دکمه A) و Deffuse (دکمه D) را تغییر داد.
-
با فشار دکمه های e و q می تواند حول نقطه کنونی دوربین دوران کرد.
توابع پر کاربرد در این پروژه opengl :
-
glRotatef چرخش دوربین
-
glTranslated انتقال دوربین
-
glEnable(GL_LIGHTING) فعال سازی نورپردازی
-
glBegin(GL_QUADS) رسم مکعب و چند ضلعی
-
glEnable(GL_TEXTURE_2D) تکنیک اعمال بافت در صحنه
-
glAccum شیشه ای کردن اجسام
-
gluSphere رسم کره
این پروژه یکی از کامل ترین برنامه های آماده شده سه بعدی برای ارائه به درس گرافیک کامپیوتری opengl می باشد. لازم به ذکر است پروژه شامل توضیحات مختصری در قالب کامنت داخل سورس برای خوانایی بیشتر برنامه می باشد.