Главная страница
    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.45 MB
Время: 0.003 c
15-1317112411
И. Павел
2011-09-27 12:33
2012.01.15
Порекомендуйте БД для JAVA


3-1269803253
Andrey2025
2010-03-28 23:07
2012.01.15
Вопрос по Firebird/ interbase Express


2-1317934451
Евгений07
2011-10-07 00:54
2012.01.15
MySql через интернет и Дельфи 6


2-1317818236
Alex_C
2011-10-05 16:37
2012.01.15
Копирование указателей


8-1221912190
Elz
2008-09-20 16:03
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский