View Full Version : ایجاد نور در OpenGL
Hamid_VB
سه شنبه 09 تیر 1388, 14:22 عصر
چطوری میشه بیشتر از 8 منبع نور درست کرد؟
(glEnable(GL_LIGHT0
(glEnable(GL_LIGHT1
(glEnable(GL_LIGHT2
(glEnable(GL_LIGHT3
(glEnable(GL_LIGHT4
(glEnable(GL_LIGHT5
(glEnable(GL_LIGHT6
(glEnable(GL_LIGHT7
pswin.pooya
سه شنبه 09 تیر 1388, 14:46 عصر
سلام
برای اینکار تو حالت fixed function باید کارت گرافیکیت بیشتر از هشت تا رو پشتیبانی کنه. برای این منظورم باید OpenGL 1.2 به بعد رو داخل برنامت مقدار دهی اولیه کنی. از سایت www,opengl.org از قسمت sdk کتابخونه glew رو بگیر و دستور زیر رو بعد از ساخت پنجره و محتوا تایپ کن:
glewInit();
اگر کارت گرافیکیت بیشتر از هشت تا رو ساپورت نکنه تنها راه استفاده از شیدرها و یا FAKE LIGHT هستش. هیچ وقت بیشتر از چهار نور دینامیک استفاده نکن چون سرعتت خیلی پایین میاد.
یه راه دیگه هم هستش و اون استفاده از بافر انباره هستش یعنی یه بار تمام صحنه رو با هشت تا میکشی میذاریش توی بافر انباره و یه باز دیگه با تعداد بیشتر میکشیش و این دفعه اون رو با انباره جمع میکنی و بعد میفرستی روی بافر فریم.
اگه تعداد نورت خیلی زیاد هستش. بهترین کاری که میتونی انجام بدی استفاده از defred shading هستش.
araz_pashazadeh
جمعه 13 آذر 1388, 21:07 عصر
چطوری میشه بیشتر از 8 منبع نور درست کرد؟
(glEnable(GL_LIGHT0
(glEnable(GL_LIGHT1
(glEnable(GL_LIGHT2
(glEnable(GL_LIGHT3
(glEnable(GL_LIGHT4
(glEnable(GL_LIGHT5
(glEnable(GL_LIGHT6
(glEnable(GL_LIGHT7
البته دوست عزیز در نسخه های قبلی OpenGL نمیتونی بیشتر از 8تا منبع نور تعریف کنی این امکان وجود نداره.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.