[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]


  • Страница 6 из 7
  • «
  • 1
  • 2
  • 4
  • 5
  • 6
  • 7
  • »
Модератор форума: Spidy, turBO, blitz3d  
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Blitz3D+Ogre3D
Blitz3D+Ogre3D
MishanayCoolДата: Среда, 23.11.2011, 22:43 | Сообщение # 51
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
Да, тени будут шейдерные типа shadow mapping, будет круто и без тормозов, как-раз этим занимаюсь.
Кстати GODDOG ты знаком с шейдерами(помощь не помешает), остальное это детский лепет.


Quote
Текст мигает

Знаю, это пока всё черновой вариант.

Вышел новый PureBasic Windows 4.60 beta, всё есть как обещали, но теперь некоторые функции которые раньше без проблем работали не работают вообще и стало очень много тормозов на ровном месте. Ждём релиза.


MiniDemo3D - Blitz3D

Сообщение отредактировал MishanayCool - Четверг, 24.11.2011, 02:12
 
MarkovaДата: Вторник, 13.12.2011, 01:07 | Сообщение # 52
ламер
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Интересные наработки, а движок бесплатный будет? Там просто, пароль какой-то, это зачем) а? =)) и когда ждать релиза?

Добавлено (13.12.2011, 01:07)
---------------------------------------------
Я вообще не большой спец шейдеров, ну вот почитал о них, синтекс не сложный вроде, нашел прогу, там много примеров ATI Render Monkey у Nvidia тоже своя есть=)

Вот что сделал, полноэкранный бумпмап рендеринг=) освещение статическое, правда не совсем я сделал, это было в примерах ATI Render Monkey я только добавил статическое освещение и разрешение текстуры запилил, может пригодится не знаю =)

 
MishanayCoolДата: Вторник, 13.12.2011, 11:04 | Сообщение # 53
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
Quote (Markova)
а движок бесплатный будет? Там просто, пароль какой-то, это зачем) а?

Я ждал этого вопроса. Движок будет бесплатный. Сначала я думал давать ключ за некую сумму(сколько не жалко), но не ради наживы, а исключительно чтобы ускорить процесс написания движка. Я сижу на многих форумах и к сожалению некоторые умные головы ни как не хотят помогать бесплатно, а вот небольшая сумма подогревает их интерес и ускоряет процесс написания движка. Пароль уберу ближе к завершению.

Quote
и когда ждать релиза?

Пока сказать не могу. sad

Quote
Вот что сделал, полноэкранный бампмап рендеринг=) освещение статическое, правда не совсем я сделал, это было в примерах ATI Render Monkey я только добавил статическое освещение и разрешение текстуры запилил, может пригодится не знаю =)

Посмотрим, код шейдера на глаз вроде простой, без излишек, а то после сохранения кода на обезьяне длина кода меня пугает(много лишнего). В общем как я уже говорил помощь мне не помешает.


MiniDemo3D - Blitz3D
 
MarkovaДата: Вторник, 13.12.2011, 17:02 | Сообщение # 54
ламер
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Ты что деньги Каму-то за это платишь!? =))
Давай расставим всё на свои места, библиотека, которую ты используешь “N3xtD.dll”
тебе не принадлежит так? То есть в случае коммерческого использования, могут возникнуть некие коллизии с разработчиками, ещё момент, перехватывать функции одной длл, дабы другая работала на благо движка, идея не очень хорошая =)) тут с лицензией наверное проблемы возникнут, не лучше ли перехватывать функции из основной “N3xtD.dll” длл хоть и это не фонтан идея но всё же ускорит работу, также можно связаться с реальными разработчиками, дабы они помогли в некоторых вопросах портирования на Blitz3D, но лучшей вариант начать писать с нуля, свою собственную длл,
в противном случае будет проще изучить близкий по математики я зык BlitzMax
и писать на нём=))
 
MishanayCoolДата: Вторник, 13.12.2011, 20:52 | Сообщение # 55
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
Quote
не лучше ли перехватывать функции из основной “N3xtD.dll”

Я так и хотел, но портирование N3xtD.dll в чистом виде невозможно. В PureBasic и в других современных языках есть функции возвращающие несколько значений. На Blitz это невозможно.
Если кому-то нужно я могу за пару часов перекинуть весь движок в оригинале оставив все функции как есть без изменений(я написал пару прог для автоматической конвертации любой dll на blitz3D и BlitzPlus), тогда меня поймут(30% процентов функций движка, Blitz просто будет игнорировать). Компилятор Blitz'a морально устарел. Теперь я понимаю какую гигантскую работу проделали создатели Xor3D. Как они обошли все заморочки компилятора? Для меня загадка.

Quote
но лучший вариант начать писать с нуля, свою собственную длл

Кто спорит, конечно лучше, а как же халява. Сначала ищем простые пути, обасрём... и только потом включаем мозги biggrin
У нас менталитет другой.


MiniDemo3D - Blitz3D

Сообщение отредактировал MishanayCool - Вторник, 13.12.2011, 21:02
 
MarkovaДата: Среда, 14.12.2011, 02:39 | Сообщение # 56
ламер
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Quote

В современных языках, есть функции, возвращающие несколько значений. На Blitz это невозможно.


Такие функции, у меня в голове не укладываются, я не могу, это осознать я завис… [=))
Как это функция возвращает несколько значений? dry Ну… это Парсер наверное да, а разбить их нельзя? На три разных функции, например, и передавать результат отдельно? Или передавать Blitzу одной старкой а в Blitzе Парсером читать.
Или эта функция передаёт результат в зависимости от метода чтения int, bit, flat и т.д.?
 
MishanayCoolДата: Среда, 14.12.2011, 05:07 | Сообщение # 57
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
Quote
Такие функции, у меня в голове не укладываются

Сейчас укладу, возьмём пример из оригинала движка на PureBasic.
К примеру нам надо считать позиции камеры

Code
Dim pos.f(2) ;тут объявляем массив от 0 до 2
_NodePosition(camera, @pos(0)) ;эта функция заполняет массив данными о каждой позиции камеры XYZ, где pos(0) - это X# позиция, pos(1) - это Y#, pos(2) - это Z#

То есть функция _NodePosition вернула 3 значения.

И это не самое сложное!

К примеру взять функцию шейдера:
Code
ProcedureC CallbackShader(*services.NMaterialServices, userData.l)
Protected Dim mvp.f(17)
Protected Dim invWorld.f(17)
Protected Dim worldViewProj.f(17)
Protected Dim pos.f(3)
Protected Dim pos_.f(3)
Protected Dim col.f(3)
Protected Dim world.f(17)

---Тут я вырезал 9 строк кода, так как он превышает допустимый лимит текста---

_NodePosition(*light, @pos(0))
_VertexShaderConstantNMaterialServices(*services, "mLightPos", @pos(0), 3)
_NodePosition(*cam, @pos(0))
_VertexShaderConstantNMaterialServices(*services, "mCamPos", @pos(0), 3)
color.l=_LightDiffuseColor(*light)
col(0)=ColorR(color.l)
col(1)=ColorG(color.l)
col(2)=ColorB(color.l)
col(3)=1.0
_VertexShaderConstantNMaterialServices(*services, "mLightColor", @col(0), 4)
_GetWorldTransform(@world(0))
_Matrix_Transposed(@world(0), @world(0))
_VertexShaderConstantNMaterialServices(*services, "mTransWorld", @world(0), 16)
EndProcedure

CreateShaderHighLevel("media\Shaders\d3d9.hlsl", "vertexMain", "media\Shaders\d3d9.hlsl", "pixelMain", #EMT_SOLID, @CallbackShader(), @CallbackShaderMaterial())


Тут функция @CallbackShader() передаёт функции шейдера CreateShaderHighLevel сразу 77 значений, таких как позицию камеры, света, каждое значение RGBA дифузного цвета, данные для матрицы отсечения(чтобы шейдер не обрабатывал лишнего, только то что попадает в поле зрения) и так далее.

Quote
Ну… это Парсер наверное да, а разбить их нельзя? На три разных функции, например, и передавать результат отдельно?

Вот этим Blitz3D_x9.dll и занимается, разжёвывает N3xtD.dll так чтобы Блитз его понимал.

Это из твоего сообщения 54
Quote
перехватывать функции одной длл, дабы другая работала на благо движка, идея не очень хорошая

Может и не очень хорошая, но выбора нет. biggrin


MiniDemo3D - Blitz3D

Сообщение отредактировал MishanayCool - Среда, 14.12.2011, 05:11
 
MarkovaДата: Среда, 14.12.2011, 12:35 | Сообщение # 58
ламер
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
Мне даже как-то не привычно видеть такое заполнение массива _NodePosition(camera, @pos(0)) и такой способ возвращения, ну обычно это проще выглядит типа: pos(0))=_NodePosition(camera, ну тут типа флаг)=))
Я так понял из этого получается entityx, entityy, entityz. Ну ты эта… не ленись давай =))
это сложноооо, не могууу, передать, 77, значений, одновременно, одной функцией =))
это всё лень твоя =))
 
MishanayCoolДата: Четверг, 12.01.2012, 13:23 | Сообщение # 59
разработчик
Группа: Пользователи
Сообщений: 226
Награды: 11
Репутация: 20
Статус: Offline
Доступно только для пользователей

MiniDemo3D - Blitz3D
 
sufiksДата: Вторник, 07.02.2012, 18:42 | Сообщение # 60
ламер
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
MishanayCool, ты не мог бы написать отдельно библиотеку(dll) теней из ogre3d а то я в нём не очень шарю. пажалуйста

Добавлено (07.02.2012, 18:42)
---------------------------------------------
а пурик бесплатный или нет

 
Форум мира Blitz3D » Язык Blitz3D » 3D программирование » Blitz3D+Ogre3D
  • Страница 6 из 7
  • «
  • 1
  • 2
  • 4
  • 5
  • 6
  • 7
  • »
Поиск: