Форум: "Прочее";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];
ВнизКак построить матрицу проекции? Найти похожие ветки
← →
@!!ex © (2008-05-28 17:43) [0]Нужно построить матрицу проецирования.
В гугле куча информации, но как построить матрицу - нету...
← →
_mirage_ (2008-05-28 17:47) [1]у тебя сегодня других проблем нет, что ли? %-)
---
Understanding is not required. Only obedience.
← →
Рамиль © (2008-05-28 17:53) [2]Это что ли?
http://compgraph.ad.cctpu.edu.ru/matrixproections.htm
← →
Sapersky (2008-05-28 19:03) [3]Type
TMatrix = record
Case integer of
0 : (_11, _12, _13, _14: Single;
_21, _22, _23, _24: Single;
_31, _32, _33, _34: Single;
_41, _42, _43, _44: Single);
1 : (m : array [0..3, 0..3] of Single);
end;
function SetProjMatrix(Var Mat: TMatrix; fFOV, fAspect, fNearPlane, fFarPlane: Single): Boolean;
Var w, h, q: Single;
BufSin, BufCos : Single;
begin
Result:=False;
SinCos(fFOV/2, BufSin, BufCos);
If (Abs(fFarPlane-fNearPlane) < 0.01) or (Abs(BufSin) < 0.01) then Exit;
h := BufCos/BufSin;
w := fAspect * h;
Q := fFarPlane / (fFarPlane - fNearPlane);
Mat:=ZeroMatrix;
With Mat do begin
_11 := w; _22 := h; _33 := Q; _34 := 1.0; _43 := -Q*fNearPlane;
end;
Result:=True;
end;
SetProjMatrix(Mat, Pi/4, ScreenHeight/ScreenWidth, 1, 1000);
← →
@!!ex © (2008-05-28 19:06) [4]> [3] Sapersky (28.05.08 19:03)
"халява, сэр!"
Спасибо, это буквально код для копипаста, так как именно это и нужно. :)
P.S.
Такая необходимость возникла из-за кривой работы DX хедеров под дельфи.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c