Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 29.07.2012, 14:13   #436
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Странное.


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

Последний раз редактировалось dsd, 13.08.2012 в 19:28.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
HolyDel (29.07.2012)
Старый 29.07.2012, 16:16   #437
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Странное.

c->SetBlendMode(BM_ALPHA);
перед выводом текста надо поставить. текст выводится с альфой. дефолтный шейдер требует режим с альфой.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (29.07.2012)
Старый 31.07.2012, 20:30   #438
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Странное.

Сообщение от HolyDel Посмотреть сообщение
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);
как то так.


не получается так ничего.
(Offline)
 
Ответить с цитированием
Старый 31.07.2012, 22:05   #439
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Странное.

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

desc.width = 512;
desc.height = 512;
desc.bpc = 4; //4 байта на канал. для флоата
desc.cpp = 1; //один канал на пиксель
desc.texels = my_floats;
(Offline)
 
Ответить с цитированием
Старый 31.07.2012, 23:08   #440
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Странное.

Сообщение от HolyDel Посмотреть сообщение
попробуй пока явно поля позадовать:

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


неа, так тоже не работает )
Может что-то из папки "source" заинклюдидь надо? ибо сам двиг собирался у меня из исходников без проблем.
(Offline)
 
Ответить с цитированием
Старый 31.07.2012, 23:13   #441
jimon
 
Сообщений: n/a
Ответ: Странное.

Сообщение от dsd Посмотреть сообщение


неа, так тоже не работает )
Может что-то из папки "source" заинклюдидь надо? ибо сам двиг собирался у меня из исходников без проблем.
если конструктор пустой по не нужно ставить скобки () после имени переменной, если их ставить то получается что декларируешь функцию, а не создаёшь экземпляр класса на стеке
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо за это полезное сообщение:
dsd (01.08.2012), pozitiffcat (06.08.2012)
Старый 31.07.2012, 23:18   #442
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Странное.

jimon уже написал в чем дело

ибо сам двиг собирался у меня из исходников без проблем.
исходники с гугл-кода устарели. (и в проприетарной поставке их быть не должно).
если хочешь - я дам тебе доступ к сурсам на ассембле.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (01.08.2012)
Старый 01.08.2012, 19:41   #443
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Странное.

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



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

Кстати если надо могу сбацать бесшовный шум типа того что на текстуре с кружками, не бесшовный и хрень которая будет показывать любой участок из здоровенной карты шума в несколько лямов пикселей шириной.
Последняя хрень есть почти готовая, выдает по координатам высоту.
(Offline)
 
Ответить с цитированием
Старый 01.08.2012, 20:18   #444
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Странное.

Не надо мне доступа, я все сломаю.
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 миллионами полигонов в одной
поверхности?
от видеокарты зависит. сам движок ограничений не накладывает. это же не блиц
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (01.08.2012)
Старый 02.08.2012, 23:58   #445
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Странное.


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

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

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

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

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

Последний раз редактировалось dsd, 13.08.2012 в 19:28.
(Offline)
 
Ответить с цитированием
Старый 03.08.2012, 00:51   #446
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Странное.

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

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

MouseHit() и MouseDown()
KeyHit, KeyDown с 1 или 2.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (03.08.2012)
Старый 05.08.2012, 00:22   #447
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Странное.


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

а как в шейдерах сэмплеры настраивать?
Как полупрозрачность делать? а то discard не красиво и не то.
(Offline)
 
Ответить с цитированием
Старый 05.08.2012, 01:11   #448
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Странное.

сэмплеры называются фиксированными именами:
sampler2D texture0
sampler2D texture1
sampler2D texture2
...
sampler2D texture31
в клиентском коде текстура задается к ентити или материалу так:
ent->SetTexture(some_texture,0);
вот второй параметр и связывает текстуру с семплером в шейдере.

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

Последний раз редактировалось HolyDel, 05.08.2012 в 13:20.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (06.08.2012)
Старый 06.08.2012, 13:19   #449
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Странное.

Сообщение от HolyDel Посмотреть сообщение
сэмплеры называются фиксированными именами:
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; 
};
(Offline)
 
Ответить с цитированием
Старый 06.08.2012, 13:29   #450
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Странное.

в glsl такого нет.
настройки сэмплера задются в клиентском коде:
tex->SetRepearMode
->SetFilter
и т.д.

уровень анизотропной фильтрации пока можно задать только при создании текстуры
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (06.08.2012)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com