Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 01.06.2014, 16:46   #1
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
View и Projection матрица

//Projection матрица
var tan=Math.tan(angle),

A=-(zMax+zMin)/(zMax-zMin),
B=(-2*zMax*zMin)/(zMax-zMin);

return [
.5/tan, 0 ,   0, 0,
 0, .5*a/tan,  0, 0,
0, 0,         A, -1,
0, 0,         B, 0
];

...

//View матрица
//this.at.v - вектор, показывающий куда смотрит камера
//this.eye - вектор, показывающий местоположение камеры
//this.up - вектор (0,1,0)
var zaxis = new Vec3(this.at.v.x-this.eye.v.x,this.at.v.y-this.eye.v.y,this.at.v.z-this.eye.v.z).normal();
var xaxis = this.up.cross(zaxis).normal();
var yaxis = zaxis.cross(xaxis);

return [
xaxis.v.x,yaxis.v.x,zaxis.v.x,0,
xaxis.v.y,yaxis.v.y,zaxis.v.y,0,
xaxis.v.z,yaxis.v.z,zaxis.v.z,0,
-xaxis.dot(this.eye),-yaxis.dot(this.eye),-zaxis.dot(this.eye),1
];
ЧЯДНТ? В шейдере умножаю перпективу на вид на модель.
Использовать библиотеки не хочу, целью является получить опыт в математике.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 22:12.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com