Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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
9-1175164239
crytogen
2007-03-29 14:30
2012.01.15
нарисовать трубу в OpenGL по точкам


15-1317414603
Юрий
2011-10-01 00:30
2012.01.15
С днем рождения ! 1 октября 2011 суббота


15-1317303611
БарЛог
2011-09-29 17:40
2012.01.15
Контроллеры домена для разных сайтов


15-1317155402
Юрий
2011-09-28 00:30
2012.01.15
С днем рождения ! 28 сентября 2011 среда


1-1279226968
Deltas
2010-07-16 00:49
2012.01.15
Значки кнопок стандартных диалоговых окон





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский