-
Привет Мастерам! Можно ли при создании трёхмерной игры написать отображение трёхмерных объектов на плоскость экрана с н0ля? Без Direct...; без GLScene; без OpenGL; без ...? И, если можно, то как долго надо писать и как медленно написаное будет работать? Спасибо за внимание.
-
В свое время в качестве курсовой написал это на Borland Pascal 7.1, поддержка только простейших операций, за один вечер. + текстринг еще пол дня писать. Плюс освещение день. Блендинг, Z-Buffer еще пару дней. Я думаю за неделю можно написать сносный софтверный рендер.
Насчет скорости... А как на первом пне работал анрыл? С клевой графой на то время.. Резво работал, скажу я вам! А ведь чистая софтвера.
вопрос только зачем в век 3Д ускорителей писать софтверный рендер?
-
> зачем в век 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;
-
Давно не заглядывал, поэтому откапываю сттарую тему )
Я в школе писал софтверный рендер на канве. Рисовалось сносно, считалось освещение. Но когда пришло время делать з-буфер и текстурирование я плюнул на это дело т.к. не смог. Мб где есть простые реализации этих штук на чистом паскале без всяких извратов?
-
> [0] ПисательПлоскихИгр (03.09.07 16:31) > отображение трёхмерных объектов на плоскость экрана с н0ля
Что за нОль, и как на Ноле отображаются трехмерные объекты?
|