Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 21:44

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Немного скриптового 3Dв кварке
СообщениеДобавлено: Ср янв 21, 2015 03:20 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Код:
// ********** user script *****


#BRICK NEW-OBJECT
0.5 0.0 0.0 CREATE-ORIGIN-POINT
0.2 0.5 0.4 CREATE-BRICK
0 0x7FFFFFFF 0 ACTIVE-OBJECT SET-3DCOLOR


#BRICK NEW-OBJECT
-0.7 0.4 0.2 CREATE-ORIGIN-POINT
0.2 0.2 0.2 CREATE-BRICK
0x7FFFFFFF 0 0 ACTIVE-OBJECT SET-3DCOLOR

#PYRAMID NEW-OBJECT
-0.5 0.0 -0.3 NEW-POINT SET-PT0
-0.1 0.0 -0.3 NEW-POINT SET-PT1
-0.1 0.0 0.0 NEW-POINT SET-PT2
-0.5 0.0 0.0 NEW-POINT SET-PT3
-0.3 0.3 -0.2 NEW-POINT SET-PT4
0 0x7FFFFFFF 0x7FFFFFFF ACTIVE-OBJECT SET-3DCOLOR

#BRICK NEW-OBJECT
-0.3 -0.3 -0.2 CREATE-ORIGIN-POINT
0.1 0.2 0.2 CREATE-BRICK
0x7FFFFFFF 0x7FFFFFFF 0 ACTIVE-OBJECT SET-3DCOLOR 


Вложения:
3d_creator_002.png
3d_creator_002.png [ 27.44 Кб | Просмотров: 19033 ]
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Немного скриптового 3Dв кварке
СообщениеДобавлено: Ср янв 21, 2015 21:22 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Прикольно :) Еще бы заюзать glFrustum для большей релистичности =)

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Немного скриптового 3Dв кварке
СообщениеДобавлено: Ср янв 21, 2015 23:19 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
А есть, только надо подбирать параметры. Это все вообще управляется динамически - не только прокрутка сцены, но и геометрия всех фигур и добавление новых.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Немного скриптового 3Dв кварке
СообщениеДобавлено: Ср янв 21, 2015 23:25 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Так я же тут рядом где-то выкладывал какие парметры нужны ей. Щас поищу.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Немного скриптового 3Dв кварке
СообщениеДобавлено: Ср янв 21, 2015 23:28 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Пока все отлаживается, лучше иметь меньше преобразований, а то будет непонятно, почему картинка выглядит именно так. По умолчанию в кварке вызывается вот это:

Код:
   invoke glFrustum, -1.0, 1.0, -1.0, 1.0, 3.0, 10.0


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Немного скриптового 3Dв кварке
СообщениеДобавлено: Ср янв 21, 2015 23:34 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Нет, не нашел. Зато нашел у себя аналог - расчет этой матрицы и её применение 8) Результат такой же будет. Вот как-то так:
Код:
0   \ Структура матрицы
  1 FLOATS    -- -XX
  1 FLOATS    -- -XY
  1 FLOATS    -- -XZ
  1 FLOATS    -- -XW
  1 FLOATS    -- -YX
  1 FLOATS    -- -YY
  1 FLOATS    -- -YZ
  1 FLOATS    -- -YW
  1 FLOATS    -- -ZX
  1 FLOATS    -- -ZY
  1 FLOATS    -- -ZZ
  1 FLOATS    -- -ZW
  1 FLOATS    -- -X
  1 FLOATS    -- -Y
  1 FLOATS    -- -Z
  1 FLOATS    -- -S
CONSTANT /MATRIX

CREATE МПерспектива   \ ( -- a )  \ аналог glFrustum
0.  F,  0.  F,  0.  F,  0.  F,
0.  F,  0.  F,  0.  F,  0.  F,
0.  F,  0.  F,  0.  F,  0.  F,
0.  F,  0.  F,  -1.  F,  0.  F,

\ Перспективный вид
\  E    0    A    0
\  0    F    B    0
\  0    0    C    D
\  0    0   -1    0
\ A=(r+l)/(r-l)
\ B=(t+b)/(t-b)
\ C=-(f+n)/(f-n)
\ D=-f*2*n/(f-n)
\ E=2*n/(r-l)
\ F=2*n/(t-b)

: Перспектива   \ ( F: l r  b t  n f -- )
\ l r - Координаты левой и правой вертикальных плоскостей отсечения.
\ b t - Координаты нижней и верхней горизонтальных плоскостей отсечения.
\ n f - Координаты ближней и дальней плоскостей отсечения по глубине. Обе величины должны быть положительными.

  (ff) F! (fn) F! (ft) F! (fb) F! (fr) F! (fl) F!
  (fr) F@ (fl) F@ F-  (frl) F!
  (ft) F@ (fb) F@ F-  (ftb) F!
  (ff) F@ (fn) F@ F-  (ffn) F!
  (fn) F@ 2.0 F*  (f2n) F!
  (fr) F@ (fl) F@ F+  (frl) F@  F/   МПерспектива -XZ F!  \ A
  (ft) F@ (fb) F@ F+  (ftb) F@  F/   МПерспектива -YZ F!  \ B
  (ff) F@ (fn) F@ F+  (ffn) F@  F/ FNEGATE   МПерспектива -ZZ F!  \ C
  (ff) F@ FNEGATE (f2n) F@  F* (ffn) F@  F/   МПерспектива -ZW F!  \ D
  (f2n) F@ (frl) F@  F/   МПерспектива -XX F!  \ E
  (f2n) F@ (ftb) F@  F/   МПерспектива -YY F!  \ F
  МПерспектива glMultMatrixd@ API1 DROP
;

-0.5 0.5 -0.5 0.5 5.0 200.0 Перспектива

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Немного скриптового 3Dв кварке
СообщениеДобавлено: Чт янв 22, 2015 04:39 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Это же невозможно применять в реальном приложении. Коррекция каждой точки программно? Нет, речь именно о том, чтобы пользоваться из Форта возможностями OpenGL, а не чтобы написать OpenGL на Форте. Десяток тысяч полигонов - и форт-реализация захлебнется.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Немного скриптового 3Dв кварке
СообщениеДобавлено: Чт янв 22, 2015 11:11 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
О нет, это не так. Это реализаци именно функции glFrustum, а не коррекция каждой точки программно. Так что тут все в рамках OpenGL реализации - glFrustum делает именно так. Берет входные параметры, вычисляет новую матрицу согласной указанной формуле и применяет эту матрицу к сцене. Она вызывается один раз при инициализации сцены. Целью написания этой процедуры было понимание как работает эта функция, а не написать на форте свой OpenGL. И код я привел лишь как пример, а не с целью "все теперь должны так делать" )))
А еще картинки есть? Интересно было бы посмотреть как все это работает на реальных задачах и сами задачи интересно было бы посмотреть.

_________________
Cтоимость сопровождения программного обеспечения пропорциональна квадрату творческих способностей программиста.
Роберт Д. Блисc


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Немного скриптового 3Dв кварке
СообщениеДобавлено: Пн фев 02, 2015 03:11 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
А с текстурами дело становится интереснее...


Вложения:
star_destroyer_002.png
star_destroyer_002.png [ 63.92 Кб | Просмотров: 18788 ]
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB