ТРУДНА: Рейтрейснат шах

Задаване на въпроси и обсъждане на детайли по задачата за рейтрейснат шах от категория 'трудни'

Comments

Търся желаещ, който да пише по първа точка

Мога да направя втора и трета част по raytraced chess от раздел трудни. Въпросът е дали ще може да се явя без първата част на защитата. Вероятно не (все пак и админа да си каже мнението), така че търся някой, който желае да напише кода от точка 1. От мен са т.2 и т.3 - почти съм готов с тях, но ми остава още малко писане. Исках да питам и как да си експортна '.3DS' файловете в '.OBJ'. Качих си 3DS Max, но не знам какви параметри да задам при експортването... малко помощ ще ми е от полза.

Не, не можеш да се явиш без

Не, не можеш да се явиш без първа част (а и ще е жалко да си си загубил сума време в моделиране на фигури, които после не можеш да покажеш на екрана :D).

Относно 3DS->OBJ:

1. Преди да експортнеш някоя фигура, трябва да я центрираш спрямо координатната система (с цел после по-лесно да я манипулираш в fmiray, не че не можеш да си напишеш recenter, ама все пак).
2. Селектираш фигурата и от File->Export->Export Selected избираш име на файл, и тип gw::OBJ exporter. От опциите остави включени

"Flip YZ-axis (Poser-like)"
"Texture coordinates"
"Normals"
и всичко от графата "optimize".

Останалото да е изключено или го остави както си е.

Благодаря! :)

Благодаря! :)

Какви алгоритми за ускорение

Какви алгоритми за ускорение ползвате? До момента съм включил vista buffers и върши добра работа. Адаптивното семплиране ще свърши ли също добра работа, че се боря вече известно време и да не се окаже, че е напразно? Всяка подсказка за друг алгоритъм би била полезна (от изброените в последната лекция май само тези 2та вършат работа).

Ускорение

Какъв фреймрейт се очаква да постигнем?
Какви препоръки бихте дали за повишаване на производителността?
Благодаря!

Разбира се. Очаква се някакъв

Разбира се.
Очаква се някакъв интерактивен фреймрейт на добра машина - примерно 4-6 кадъра в секунда поне.

Препоръки - изключете сенките.
При местене на фигурите рендерирайте само тези части от кадъра, които са се сменили. Ако нямаме отражения: взимате BBox-а от началото положение на фигурата и го трансформирате в "2d bbox" по екрана. За целта всеки от 8-те върха на BBox-а превърнете в екранни координати (примерно една функцийка Camera::mapToScreen, която превръща Vector в двойка координати по екрана).
От тези 8 2d върха задайте 2D правоъгълник (пак с vmin/vmax координати). Това е областта, в която ще "изчезне" фигурката. После сметнете 3D BBox-а в крайната позиция на тази фигурка и разширете 2D правоъгълника с неговите проектирани краища.
Така получавате 2D правоъгълник, който следва да се пререндерира, и смятате само него.

Благодаря! :)

Благодаря! :)