forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Странное. (http://forum.boolean.name/showthread.php?t=15405)

dsd 29.07.2012 14:13

Ответ: Странное.
 

вроде бы получше.
на пробел поменять зерно для шума
на wasd крутить планету
на стрелки летать

HolyDel 29.07.2012 16:16

Ответ: Странное.
 
Код:

c->SetBlendMode(BM_ALPHA);
перед выводом текста надо поставить. текст выводится с альфой. дефолтный шейдер требует режим с альфой.

dsd 31.07.2012 20:30

Ответ: Странное.
 
Цитата:

Сообщение от HolyDel (Сообщение 233675)
Код:

float my_floats[512][512];
Texture::Desc desc();
desc.Size(512,512);
desc.Bpc(4); //4 байта на канал. для флоата
desc.Cpp(1); //один канал на пиксель
desc.Data(my_floats);
Texture *tex = eng->CreateTexture(desc);

как то так.



не получается так ничего.:dontknow:

HolyDel 31.07.2012 22:05

Ответ: Странное.
 
попробуй пока явно поля позадовать:

Код:

desc.width = 512;
desc.height = 512;
desc.bpc = 4; //4 байта на канал. для флоата
desc.cpp = 1; //один канал на пиксель
desc.texels = my_floats;


dsd 31.07.2012 23:08

Ответ: Странное.
 
Цитата:

Сообщение от HolyDel (Сообщение 234900)
попробуй пока явно поля позадовать:

Код:

desc.width = 512;
desc.height = 512;
desc.bpc = 4; //4 байта на канал. для флоата
desc.cpp = 1; //один канал на пиксель
desc.texels = my_floats;




неа, так тоже не работает :))
Может что-то из папки "source" заинклюдидь надо? ибо сам двиг собирался у меня из исходников без проблем.

jimon 31.07.2012 23:13

Ответ: Странное.
 
Цитата:

Сообщение от dsd (Сообщение 234904)


неа, так тоже не работает :))
Может что-то из папки "source" заинклюдидь надо? ибо сам двиг собирался у меня из исходников без проблем.

если конструктор пустой по не нужно ставить скобки () после имени переменной, если их ставить то получается что декларируешь функцию, а не создаёшь экземпляр класса на стеке

HolyDel 31.07.2012 23:18

Ответ: Странное.
 
jimon уже написал в чем дело :)

Цитата:

ибо сам двиг собирался у меня из исходников без проблем.
исходники с гугл-кода устарели. (и в проприетарной поставке их быть не должно).
если хочешь - я дам тебе доступ к сурсам на ассембле.

dsd 01.08.2012 19:41

Ответ: Странное.
 
Цитата:

Сообщение от HolyDel (Сообщение 234907)
если хочешь - я дам тебе доступ к сурсам на ассембле.

я тут еще в базовых функциях движка и с++ путаюсь. Не надо мне доступа, я все сломаю.



И еще, как мне обычную текстуру сделать с argb или как там, в общем 4 канала по 256 цветов?
Мне показалось или движок без проблем прожевывает меши с 2-3 миллионами точек и 4 миллионами полигонов в одной поверхности?

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

HolyDel 01.08.2012 20:18

Ответ: Странное.
 
Цитата:

Не надо мне доступа, я все сломаю.
read only :)

Цитата:

И еще, как мне обычную текстуру сделать с argb или как там, в общем 4 канала по 256 цветов?
Код:

desc.bpc = 1;
desc.cpp = 4;

вообще тут:

Код:

desc.bpc = 4;
число байт на канал - должно быть 1 - 256 цветов, 2 - half-float или 4 - float.

Код:

desc.cpp = 1;
число каналов - должно быть от 1-го до 4.

Цитата:

Мне показалось или движок без проблем прожевывает меши с 2-3 миллионами точек и 4 миллионами полигонов в одной
поверхности?
от видеокарты зависит. сам движок ограничений не накладывает. это же не блиц :)

dsd 02.08.2012 23:58

Ответ: Странное.
 

вроде научился раскрашивать меш поприкольней.

ХолиДел, вот рисовать текстуры я теперь умею, а обратно построить массив данных из текстуры тоже можно?

MouseHit() и MouseDown() чето найти никак не могу. И аналоги типа TForm есть?

теперь по иксу "x" в рандомном месте на меше появится чето типа кратера, с глюками если попадает на края меша. по пробелу сделать новую планету.

зы: а из далека уже ничего :) если добавить меш для воды, облаков и вывернутый для атмосферы вообще красотища будет.

HolyDel 03.08.2012 00:51

Ответ: Странное.
 
Цитата:

ХолиДел, вот рисовать текстуры я теперь умею, а обратно построить массив данных из текстуры тоже можно?
пока нет такого функционала. добавить его - парой строчек можно, но сборку новую пока собирать рано.

Цитата:

И аналоги типа TForm есть?
есть векторная математика.
можно получить матрицу трансформации ноды(пивота) и множить нужный вектор на нее.

Цитата:

MouseHit() и MouseDown()
KeyHit, KeyDown с 1 или 2.

dsd 05.08.2012 00:22

Ответ: Странное.
 

добавил слегка анимированную воду спертую из сэмплов, плывущие облачка и атмосферу без шейдера.
фпс уныл из-за урагана порвавшего все провода в городе :)) а с батареи оно много не дает.

а как в шейдерах сэмплеры настраивать?
Как полупрозрачность делать? а то discard не красиво и не то.

HolyDel 05.08.2012 01:11

Ответ: Странное.
 
сэмплеры называются фиксированными именами:
Код:

sampler2D texture0
sampler2D texture1
sampler2D texture2
...
sampler2D texture31

в клиентском коде текстура задается к ентити или материалу так:
Код:

ent->SetTexture(some_texture,0);
вот второй параметр и связывает текстуру с семплером в шейдере.

полупрозрачность так:
Код:

ent->SetBlend(BM_ALPHA);
и в альфу (в 4-й компонент выходного вектора фрагментного шейдера) писать некоторое значение меньше 1.

dsd 06.08.2012 13:19

Ответ: Странное.
 
Цитата:

Сообщение от HolyDel (Сообщение 235242)
сэмплеры называются фиксированными именами:
Код:

sampler2D texture0
sampler2D texture1
sampler2D texture2
...
sampler2D texture31

в клиентском коде текстура задается к ентити или материалу так:
Код:

ent->SetTexture(some_texture,0);
вот второй параметр и связывает текстуру с семплером в шейдере.

тащемта я о чем то таком как в хлсл спрашивал:
Код:

texturediffuseTexture : TEXTURE_0;  // текстура
// описываемsampler
sampler diffuseSampler =sampler_state
{
Texture = <diffuseTexture>; // привязываем текстуру
// устанавливаем адресацию координат
AddressU= WRAP;
AddressV= WRAP;
AddressW= WRAP;
// устанавливаем фильтрацию
MinFilter= ANISOTROPIC;
MagFilter= ANISOTROPIC;
MipFilter= ANISOTROPIC;
// устанавливаем уровень фильтрации
MaxAnisotropy= 4;
};


HolyDel 06.08.2012 13:29

Ответ: Странное.
 
в glsl такого нет.
настройки сэмплера задются в клиентском коде:
Код:

tex->SetRepearMode
->SetFilter

и т.д.

уровень анизотропной фильтрации пока можно задать только при создании текстуры


Часовой пояс GMT +4, время: 01:10.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot