Показать сообщение отдельно
Старый 19.10.2009, 18:13   #12
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений
(для 142 пользователей)
Ответ: BurnFX RayTracer - W.I.P

Сообщение от Mr_F_ Посмотреть сообщение
это оффлайн рендер.

Игорь, кстати насчёт АО - чет туплю, как не в скринспейсе делают?) откуда лучи полусферой пускают? чуть_поодаль_от точки, на которую рассчитывается свет? вроде так не покатит
Ну допустим в Per Vertex,пускают из каждого вертекса луч,если есть лайтмеп то из каждой точки.

Направление луча вычисляется так(в цикле типа for( int i=0;i< samples;i++ )):

                      vec3 dir;
		do{
			dir = vec3( -1.0f + (float)genrand_real12()*2.0f , -1.0f + (float)genrand_real12()*2.0f , -1.0f + (float)genrand_real12()*2.0f );
		}while( !(dir.length() <= 1.0f) );
		dir.normalize();

		float d = dot(hit.normal, dir);
        if (d < 0)
		{
			dir = dir - d * 2.0f;
			dir = dir % hit.normal;
		}
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mr_F_ (19.10.2009)