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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Трехмерная графика в кварке
СообщениеДобавлено: Вс янв 13, 2008 23:44 
Не в сети
Administrator
Administrator
Аватара пользователя

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

: FUNCTION ActiveLibrary SWAP GETPROCADDRESS VALUE ;  // это чтобы не писать имя dll каждый раз

" opengl32.dll" LOADLIBRARY VALUE OPENGL
OPENGL TO ActiveLibrary

" glViewport" FUNCTION glViewPort@   : glViewPort glViewPort@ API4 DROP ;
" glVertex3dv" FUNCTION glVertex3dv@ : glVertex3dv glVertex3dv@ API1 DROP ;
" glBegin" FUNCTION glBegin@         : glBegin glBegin@ API1 DROP ;
" glEnd" FUNCTION glEnd@             : glEnd glEnd@ API0 DROP ;
" glEnable" FUNCTION glEnable@       : glEnable glEnable@ API1 DROP ;
" glDisable" FUNCTION glDisable@     : glDisable glDisable@ API1 DROP ;
" glClear" FUNCTION glClear@         : glClear glClear@ API1 DROP ;
" glPushMatrix" FUNCTION glPushMatrix@ : glPushMatrix glPushMatrix@ API0 DROP ;
" glPopMatrix" FUNCTION glPopMatrix@   : glPopMatrix glPopMatrix@ API0 DROP ;

CREATE Point1 -1.0 F, 0.0 F, 0.0 F,  // создаем первую точку
CREATE Point2 1.0 F, 0.0 F, 0.0 F,   // создаем вторую точку

: TEST
// координаты левого нижнего угла, ширина и высота окна просмотра (OpenGL направляет оси вправо и вверх)
  0 0 500 500 glViewPort   

  glPushMatrix                                // сохраняем матрицу просмотра

  GL_DEPTH_TEST glEnable             // разрешаем контроль глубины
  GL_DEPTH_BUFFER_BIT glClear     // и очищаем буфер глубины (сейчас в трехмерном пространстве ничего нет)
// обращаем внимание, что COLOR_BUFFER_BIT не установлен, поскольку он уже очищен при отрисовке "двумерной" сцены
// (это та, в которую кварк выводит текст)

  GL_LIGHTING glEnable                   //  разрешаем расчет освещения
  GL_LIGHT0 glEnable                       //  включаем первый
  GL_LIGHT1 glEnable                       //  и второй "стандартные" источники света
  GL_COLOR_MATERIAL glEnable       //  разрешаем раскрашивать примитивы
  GL_LINE_SMOOTH glEnable             //  разрешаем "размывание" линий

  GL_LINES glBegin                           // рисуем линию: GL_LINES указывает, что следующие точки задают линию
    Point1 glVertex3dv                       // glVertex3dv снимает со стека указатель на массив из трех чисел двойной точности
    Point2 glVertex3dv                       // задающих x, y, z
  glEnd

  glPopMatrix                                   // восстанавливаем матрицу (раз уж сохраняли)
;

' TEST TO 3D                                 // включаем наше слово как "слово для отрисовки трехмерной сцены"



Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 14, 2008 02:00 
Не в сети
Аватара пользователя

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

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


Последний раз редактировалось VoidVolker Вт янв 15, 2008 16:37, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 15, 2008 00:15 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Итак, следующий пункт условно называется "кручу, верчу, обмануть хочу" :) Иными словами, вращение сцены.
Вращение делается функцией glRotated (или glRotatef), у которой есть одно маленькое неудобство - она требует в качестве аргументов числа с плавающей точкой (single для варианта с f, double для варианта с d). Все бы ничего, но на сопроцессоре она эти числа найти никак не ожидает, а кварк помещает их именно туда. Соответственно, надо было бы делать перекладывание чисел с сопроцессора на целочисленный стек, переупаковку их для API... неудобно, да? Вот и мне показалось страшно неудобно, поэтому я "обернул" функцию вращения в слово 3DROTATE. Заодно завелись системные переменные ROTATEANGLE, glX, glY, glZ (в них требуется положить single precision число, словом SF!). Перед вызовом в ROTATEANGLE угол в градусах (так требует OpenGL), в остальных переменных находятся координаты вектора, вокруг которого происходит вращение. Пример внизу, можно экспериментировать. Потемнение картинки есть следствие того, что включен расчет освещения, и "сзади" все будет не таким ярким, как "спереди".

Код:
: TEST
  0 0 500 500 glViewPort
  glPushMatrix

  GL_DEPTH_TEST glEnable
  GL_DEPTH_BUFFER_BIT glClear

  GL_LIGHTING glEnable
  GL_LIGHT0 glEnable
  GL_LIGHT1 glEnable
  GL_COLOR_MATERIAL glEnable
  GL_LINE_SMOOTH glEnable

  120.0 ROTATEANGLE SF!
  1.0 glX SF!
  0.0 glY SF!
  0.0 glZ SF!
  3DROTATE

  0.0 ROTATEANGLE SF! // -120
  0.0 glX SF!
  1.0 glY SF!
  0.0 glZ SF!
  3DROTATE

  10.0 ROTATEANGLE SF! // 100
  0.0 glX SF!
  0.0 glY SF!
  1.0 glZ SF!
  3DROTATE


  GL_LINES glBegin
    Point1 glVertex3dv
    Point2 glVertex3dv
  glEnd

  glPopMatrix
;


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 15, 2008 02:47 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Куб, который можно вращать :)
Код:
' BYE TO K_F5
" Двигать куб: x: ЛКМ,ПКМ y: HOME,END z: PGUP,PGDOWN" PRINT CR
" Вращать куб: Стрелки" PRINT CR
" Выход: F5" PRINT CR
0 VALUE ActiveLibrary
: FUNCTION ActiveLibrary SWAP GETPROCADDRESS VALUE ;  // это чтобы не писать имя dll каждый раз
" opengl32.dll" LOADLIBRARY VALUE OPENGL
OPENGL TO ActiveLibrary
" glViewport" FUNCTION glViewPort@   : glViewPort glViewPort@ API4 DROP ;
" glVertex3dv" FUNCTION glVertex3dv@ : glVertex3dv glVertex3dv@ API1 DROP ;
" glBegin" FUNCTION glBegin@         : glBegin glBegin@ API1 DROP ;
" glEnd" FUNCTION glEnd@             : glEnd glEnd@ API0 DROP ;
" glEnable" FUNCTION glEnable@       : glEnable glEnable@ API1 DROP ;
" glDisable" FUNCTION glDisable@     : glDisable glDisable@ API1 DROP ;
" glClear" FUNCTION glClear@         : glClear glClear@ API1 DROP ;
" glPushMatrix" FUNCTION glPushMatrix@ : glPushMatrix glPushMatrix@ API0 DROP ;
" glPopMatrix" FUNCTION glPopMatrix@   : glPopMatrix glPopMatrix@ API0 DROP ;
" glColor3i" FUNCTION glColor3i@     : glColor3i glColor3i@ API3 DROP ;
" glColor3ubv" FUNCTION glColor3ubv@ : glColor3ubv glColor3ubv@ API1 DROP ;

" USER32.DLL" LOADLIBRARY
" GetKeyState" GETPROCADDRESS CONSTANT 'GetKeyState
: KEY-PRESSED?  'GetKeyState API1 128 AND 0 > ;
37  CONSTANT VK_LEFT
38  CONSTANT VK_UP
39  CONSTANT VK_RIGHT
40  CONSTANT VK_DOWN

: МОДЕЛЬ:        // Объявляем начало некоторого трехмерного объекта
  HERE HERE ;
: ;МОДЕЛЬ"       // Объявляем конец описания этого некоторого трехмерного объекта и его имя
  HERE SWAP - CREATE SWAP , , DOES> DUP 4 + >R @ R> @ ;

: POINT  // ( F: z y x -- ) Создает "точку" с тремя координатами и указанным именем, берет их с флоат-стека в обратном порядке
  CREATE F, F, F, ;

: двигать_x+  //  ( a u --) ( F: n --)  Двигает объект по оси Х
  24 / 0 DO
  FDUP
  DUP F@ F+ DUP F!
  24 +
  LOOP DROP
;

: двигать_y+  //  ( a u --) ( F: n --) Двигает объект по оси У
  >R 8 + R>
  двигать_x+
;

: двигать_z+  //  ( a u --) ( F: n --) Двигает объект по оси З
  >R 16 + R>
  двигать_x+
;

МОДЕЛЬ:

  // Точки куба
  CREATE Point1  -0.4 F, -0.4 F, -0.4 F,
  CREATE Point2  -0.4 F,  0.4 F, -0.4 F,
  CREATE Point3   0.4 F,  0.4 F, -0.4 F,
  CREATE Point4   0.4 F, -0.4 F, -0.4 F,
  CREATE Point5  -0.4 F, -0.4 F,  0.4 F,
  CREATE Point6  -0.4 F,  0.4 F,  0.4 F,
  CREATE Point7   0.4 F,  0.4 F,  0.4 F,
  CREATE Point8   0.4 F, -0.4 F,  0.4 F,
  // Точки стрелок
    // Левая стрелка
  CREATE LTPoint1  -0.3 F,   0.0 F, -0.4 F,     // Треугольник
  CREATE LTPoint2  -0.2 F,   0.1 F, -0.4 F,
  CREATE LTPoint3  -0.2 F,  -0.1 F, -0.4 F,
  CREATE LCPoint1  -0.2 F,  0.05 F, -0.4 F,     // Квадрат
  CREATE LCPoint2  -0.2 F, -0.05 F, -0.4 F,
  CREATE LCPoint3  -0.1 F, -0.05 F, -0.4 F,
  CREATE LCPoint4  -0.1 F,  0.05 F, -0.4 F,
    // Правая стрелка
  CREATE RTPoint1  0.3 F,   0.0 F, -0.4 F,      // Треугольник
  CREATE RTPoint2  0.2 F,   0.1 F, -0.4 F,
  CREATE RTPoint3  0.2 F,  -0.1 F, -0.4 F,
  CREATE RCPoint1  0.2 F,  0.05 F, -0.4 F,      // Квадрат
  CREATE RCPoint2  0.2 F, -0.05 F, -0.4 F,
  CREATE RCPoint3  0.1 F, -0.05 F, -0.4 F,
  CREATE RCPoint4  0.1 F,  0.05 F, -0.4 F,
    // Верхняя стрелка
  CREATE UTPoint1    0.0 F, 0.3 F, -0.4 F,      // Треугольник
  CREATE UTPoint2    0.1 F, 0.2 F, -0.4 F,
  CREATE UTPoint3   -0.1 F, 0.2 F, -0.4 F,
  CREATE UCPoint1   0.05 F, 0.2 F, -0.4 F,      // Квадрат
  CREATE UCPoint2  -0.05 F, 0.2 F, -0.4 F,
  CREATE UCPoint3  -0.05 F, 0.1 F, -0.4 F,
  CREATE UCPoint4   0.05 F, 0.1 F, -0.4 F,
    // Нижняя стрелка
  CREATE DTPoint1    0.0 F, -0.3 F, -0.4 F,      // Треугольник
  CREATE DTPoint2    0.1 F, -0.2 F, -0.4 F,
  CREATE DTPoint3   -0.1 F, -0.2 F, -0.4 F,
  CREATE DCPoint1   0.05 F, -0.2 F, -0.4 F,      // Квадрат
  CREATE DCPoint2  -0.05 F, -0.2 F, -0.4 F,
  CREATE DCPoint3  -0.05 F, -0.1 F, -0.4 F,
  CREATE DCPoint4   0.05 F, -0.1 F, -0.4 F,

;МОДЕЛЬ" куб

CREATE смещение+ 0.01 F,    //  Смещение для сдвига куба
CREATE смещение- -0.01 F,    //  Смещение для сдвига куба
CREATE угол 5.0 F,    //  Угол поворота

CREATE цвет1 0x00FF9F7F ,
CREATE цвет2 0x0000FF00 ,
: раскрасить  glColor3ubv ;
: ?цвет  IF цвет2 ELSE цвет1 THEN ;

: куб_x+
  смещение+ F@ куб двигать_x+ ;
: куб_x-
  смещение- F@ куб двигать_x+ ;
: куб_y+
  смещение+ F@ куб двигать_y+ ;
: куб_y-
  смещение- F@ куб двигать_y+ ;
: куб_z+
  смещение+ F@ куб двигать_z+ ;
: куб_z-
  смещение- F@ куб двигать_z+ ;

' куб_x+ TO <MOUSE_RIGHT>
' куб_x- TO <MOUSE_LEFT>
' куб_y+ TO K_HOME
' куб_y- TO K_END
' куб_z+ TO K_PGUP
' куб_z- TO K_PGDOWN

: Левая?
  VK_LEFT  KEY-PRESSED? ;
: Правая?
  VK_RIGHT KEY-PRESSED? ;
: Верхняя?
  VK_UP    KEY-PRESSED? ;
: Нижняя?
  VK_DOWN  KEY-PRESSED? ;

: сцена_y+
  угол F@ ROTATEANGLE SF!
  0.0 glX SF!
  1.0 glY SF!
  0.0 glZ SF!
  3DROTATE
;
: сцена_y-
  угол F@ ROTATEANGLE SF!
  0.0 glX SF!
  -1.0 glY SF!
  0.0 glZ SF!
  3DROTATE
;
: сцена_x+
  угол F@ ROTATEANGLE SF!
  1.0 glX SF!
  0.0 glY SF!
  0.0 glZ SF!
  3DROTATE
;
: сцена_x-
  угол F@ ROTATEANGLE SF!
  -1.0 glX SF!
  0.0 glY SF!
  0.0 glZ SF!
  3DROTATE
;

' сцена_y+ TO K_LEFT
' сцена_y- TO K_RIGHT
' сцена_x+ TO K_UP
' сцена_x- TO K_DOWN

: куб.
  // Передняя грань
  GL_LINES glBegin
    Point1 glVertex3dv    Point2 glVertex3dv
  glEnd
  GL_LINES glBegin
    Point2 glVertex3dv    Point3 glVertex3dv
  glEnd
  GL_LINES glBegin
    Point3 glVertex3dv    Point4 glVertex3dv
  glEnd
  GL_LINES glBegin
    Point4 glVertex3dv    Point1 glVertex3dv
  glEnd

  // Задняя грань
  GL_LINES glBegin
    Point5 glVertex3dv    Point6 glVertex3dv
  glEnd
  GL_LINES glBegin
    Point6 glVertex3dv    Point7 glVertex3dv
  glEnd
  GL_LINES glBegin
    Point7 glVertex3dv    Point8 glVertex3dv
  glEnd
  GL_LINES glBegin
    Point8 glVertex3dv    Point5 glVertex3dv
  glEnd

  // Соединения граней
  GL_LINES glBegin
    Point1 glVertex3dv    Point5 glVertex3dv
  glEnd
  GL_LINES glBegin
    Point2 glVertex3dv    Point6 glVertex3dv
  glEnd
  GL_LINES glBegin
    Point3 glVertex3dv    Point7 glVertex3dv
  glEnd
  GL_LINES glBegin
    Point4 glVertex3dv    Point8 glVertex3dv
  glEnd
;

: левая_стрелка.
  GL_TRIANGLE_STRIP glBegin
    LTPoint1 glVertex3dv    LTPoint2 glVertex3dv    LTPoint3 glVertex3dv
  glEnd
  GL_QUADS glBegin
    LCPoint1 glVertex3dv    LCPoint2 glVertex3dv
    LCPoint3 glVertex3dv    LCPoint4 glVertex3dv
  glEnd
;

: правая_стрелка.
  GL_TRIANGLE_STRIP glBegin
    RTPoint1 glVertex3dv    RTPoint2 glVertex3dv    RTPoint3 glVertex3dv
  glEnd
  GL_QUADS glBegin
    RCPoint1 glVertex3dv    RCPoint2 glVertex3dv
    RCPoint3 glVertex3dv    RCPoint4 glVertex3dv
  glEnd
;

: верхняя_стрелка.
  GL_TRIANGLE_STRIP glBegin
    UTPoint1 glVertex3dv    UTPoint2 glVertex3dv    UTPoint3 glVertex3dv
  glEnd
  GL_QUADS glBegin
    UCPoint1 glVertex3dv    UCPoint2 glVertex3dv
    UCPoint3 glVertex3dv    UCPoint4 glVertex3dv
  glEnd
;

: нижняя_стрелка.
  GL_TRIANGLE_STRIP glBegin
    DTPoint1 glVertex3dv    DTPoint2 glVertex3dv    DTPoint3 glVertex3dv
  glEnd
  GL_QUADS glBegin
    DCPoint1 glVertex3dv    DCPoint2 glVertex3dv
    DCPoint3 glVertex3dv    DCPoint4 glVertex3dv
  glEnd
;

: Опции_начала_сцены
  100 0 600 600 glViewPort        // координаты левого нижнего угла, ширина и высота окна просмотра (OpenGL направляет оси вправо и вверх)
  glPushMatrix                    // сохраняем матрицу просмотра
  GL_DEPTH_TEST glEnable          // разрешаем контроль глубины
  GL_DEPTH_BUFFER_BIT glClear     // и очищаем буфер глубины (сейчас в трехмерном пространстве ничего нет)
// обращаем внимание, что COLOR_BUFFER_BIT не установлен, поскольку он уже очищен при отрисовке "двумерной" сцены
// (это та, в которую кварк выводит текст)
  GL_LIGHTING glEnable                   //  разрешаем расчет освещения
  GL_LIGHT0 glEnable                       //  включаем первый
  GL_LIGHT1 glEnable                       //  и второй "стандартные" источники света
  GL_COLOR_MATERIAL glEnable       //  разрешаем раскрашивать примитивы
  GL_LINE_SMOOTH glEnable             //  разрешаем "размывание" линий
;

: Опции_конца_сцены
  glPopMatrix                 // восстанавливаем матрицу (раз уж сохраняли)
;

: КУБИК
  Опции_начала_сцены

  цвет1 раскрасить куб.
  Левая? ?цвет раскрасить левая_стрелка.
  Правая? ?цвет раскрасить правая_стрелка.
  Верхняя? ?цвет раскрасить верхняя_стрелка.
  Нижняя? ?цвет раскрасить нижняя_стрелка.

  Опции_конца_сцены
;
' КУБИК TO 3D                                 // включаем наше слово как "слово для отрисовки трехмерной сцены"

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


Последний раз редактировалось VoidVolker Ср янв 16, 2008 12:58, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 15, 2008 23:09 
Не в сети
Administrator
Administrator
Аватара пользователя

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 15, 2008 23:36 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
В смысле? Вполне удобны, поэтому и используются.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 15, 2008 23:52 
Не в сети
Administrator
Administrator
Аватара пользователя

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 16, 2008 01:51 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 16, 2008 19:53 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Изображение
Изображение
Исходник: http://slil.ru/25366057

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 17, 2008 11:16 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Хищник писал(а):
Просто я VK_LEFT увидел в тексте. Внутри кварка точно такой же код сидит и проверяет необходимость запуска K_LEFT, так что можно не дублировать. Разве что если не работает.

Так в том-то и дело, что "внутри" - в словаре таких констант нету.

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт янв 18, 2008 01:44 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб янв 26, 2008 00:22 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
А вот немного динамики, а то статичные картинки скучноваты будут:
http://slil.ru/25401949
Ап: 26 Января 2008 13:12

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 28, 2008 02:46 
Не в сети
Аватара пользователя

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

(Мой первый арт с использованием кварка 8) )

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 29, 2008 03:33 
Не в сети
Аватара пользователя

Зарегистрирован: Вт мар 20, 2007 23:39
Сообщения: 1261
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Вот еще немного наработок: обновленная либа для работы с трехмерными объектами и моделями в кварке (обновлен экпорт из блендера (<папка_блендера>\.blender\scripts\qm_export.py) http://www.everfall.com/paste/id.php?hq3v7j6xn39u), и трехмерный курсор.
http://slil.ru/25411882

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

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


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

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


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

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