Форум: "Игры";
Текущий архив: 2012.01.15;
Скачать: [xml.tar.bz2];
ВнизZero3D Найти похожие ветки
← →
ПисательПлоскихИгр (2007-09-03 16:31) [0]Привет Мастерам!
Можно ли при создании трёхмерной игры написать отображение трёхмерных объектов на плоскость экрана с н0ля?
Без Direct...; без GLScene; без OpenGL; без ...?
И, если можно, то как долго надо писать и как медленно написаное будет работать?
Спасибо за внимание.
← →
@!!ex © (2007-09-03 16:42) [1]В свое время в качестве курсовой написал это на Borland Pascal 7.1, поддержка только простейших операций, за один вечер.
+ текстринг еще пол дня писать.
Плюс освещение день.
Блендинг, Z-Buffer еще пару дней.
Я думаю за неделю можно написать сносный софтверный рендер.
Насчет скорости... А как на первом пне работал анрыл? С клевой графой на то время.. Резво работал, скажу я вам! А ведь чистая софтвера.
вопрос только зачем в век 3Д ускорителей писать софтверный рендер?
← →
ПисательПлоскихИгр (2007-09-03 17:08) [2]
> зачем в век 3Д ускорителей писать софтверный рендер
Это надобно для ПРОФЕССИОНАЛЬНОГО ОЩЩУЩЕНИЯ.
> за один вечер
Какой же СТРРАШНЫЙ уровень профессионализма надо иметь для такой скарости?
← →
@!!ex © (2007-09-03 18:10) [3]> Это надобно для ПРОФЕССИОНАЛЬНОГО ОЩЩУЩЕНИЯ.
:))
> Какой же СТРРАШНЫЙ уровень профессионализма надо иметь для
> такой скарости?
Там всего 324 строки. Я напомню, там только простейшие операции. вот так выглядит классик это реализующий:TSoftware3DRender = object
public
Constructor Create(focalLength:integer);
Destructor Destroy;
Procedure SetFocalLength(size:integer);
Procedure SetCenter(cx,cy:integer);
Procedure LoadIdenty;
Procedure PushMatrix;
Procedure PopMatrix;
Procedure RotateX(degree:real);
Procedure RotateY(degree:real);
Procedure RotateZ(degree:real);
Procedure Translate(x,y,z:integer);
Procedure Scale(x,y,z:real);
Procedure transform(var m1,m2:TMatrix4x4);
Procedure transformVector(var v:TVector4; m:TMatrix4x4);
Procedure Line3D(x1,y1,z1,x2,y2,z2:integer);
Procedure Line2D(x1,y1,x2,y2:integer);
Procedure Polygon(P1,P2,P2:TVector4);
private
fLength:integer;
transformMatrix:TMatrix4x4;
tempMatrix:TMatrix4x4;
MatrixStack:array[0..49] of TMatrix4x4;
CurrentStack:integer;
CenterX,CenterY:integer;
end;
← →
Pa5ha © (2007-09-29 03:19) [4]Давно не заглядывал, поэтому откапываю сттарую тему )
Я в школе писал софтверный рендер на канве. Рисовалось сносно, считалось освещение. Но когда пришло время делать з-буфер и текстурирование я плюнул на это дело т.к. не смог. Мб где есть простые реализации этих штук на чистом паскале без всяких извратов?
← →
homm © (2007-09-29 08:47) [5]> [0] ПисательПлоскихИгр (03.09.07 16:31)
> отображение трёхмерных объектов на плоскость экрана с н0ля
Что за нОль, и как на Ноле отображаются трехмерные объекты?
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2012.01.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c