Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.01.15;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
15-1317112411
И. Павел
2011-09-27 12:33
2012.01.15
Порекомендуйте БД для JAVA


6-1218309025
Doc.X
2008-08-09 23:10
2012.01.15
Регестарция в WordPress


3-1269596428
Kley
2010-03-26 12:40
2012.01.15
как правильно организовать вставку записей


15-1317198478
boriskb
2011-09-28 12:27
2012.01.15
Прототип «русской Windows» разработают за 5 млн рублей


15-1317587402
Юрий
2011-10-03 00:30
2012.01.15
С днем рождения ! 3 октября 2011 понедельник