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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 19.08.2011, 20:54   #271
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Имитация водной поверхности.

А где скрины снова???
(Offline)
 
Ответить с цитированием
Старый 19.08.2011, 20:58   #272
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

Да прямо перед кодом шейдера, сэр.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
moka (19.08.2011)
Старый 19.08.2011, 21:07   #273
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Имитация водной поверхности.

Вот этот слегка модифицированный шейдер из шагов рисует такую картинку.
брр что это?
я же говорил уже про флоатовые текстуры. не нужно ничего никуда кодировать.
(Offline)
 
Ответить с цитированием
Старый 19.08.2011, 21:11   #274
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

Омг.
Единственный способ получения текстуры из шейдера в хорс, который я умею это отрендрить в текстуру изображение рендервурлдом или рендереентитей. Если есть более простой и прямой способ просвети меня, гуру. Я тогда в твою честь авемарию спою
(Offline)
 
Ответить с цитированием
Старый 19.08.2011, 21:20   #275
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Имитация водной поверхности.

всё делаешь как обычно, НО создаёшь текстуру с флагом 256 (если ниче не поменяли с момента когда я юзал ксорс) - в ней будут не 4 цвета по байту храниться, а один цвет в формате дробного числа.
ты просто делаешь в PS return depth и не паришься.
(Offline)
 
Ответить с цитированием
Старый 19.08.2011, 21:34   #276
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

//VS
float4x4 matrixWorldViewProj MATRIX_WORLDVIEWPROJ// матрица итоговая
float4x4 matrixWorld MATRIX_WORLD// матрица мировая

struct VS_INPUT
{
   
float4 position  POSITION;
};

struct VS_OUTPUT
{
   
float4 position  POSITION;
   
float depth  TEXCOORD0;
};

VS_OUTPUT main_VSVS_INPUT In )
{
    
VS_OUTPUT Out;
    
Out.position mulIn.positionmatrixWorldViewProj);
    
Out.depth=Out.position.z;
    return 
Out;
}

//PS
struct PS_INPUT
{
   
float depth    TEXCOORD0;
};

float4 main_PSPS_INPUT IN ) : COLOR0
{
    return 
IN.depth;
}; 
Ты про це? у меня он чет не работает
(Offline)
 
Ответить с цитированием
Старый 19.08.2011, 21:50   #277
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Имитация водной поверхности.

ну всё правильно у тебя сейчас.
если попытаешься отобрзазить дептх текстуру, то вблизи выйдет голубое а после единичной дистанции - белое.
(Offline)
 
Ответить с цитированием
Старый 19.08.2011, 22:29   #278
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

output.depth = output.position.z; Вот это значение которое я делаю в вершинном шейдере равно расстоянию между этой вершиной и камерой в хорсе или нет?
(Offline)
 
Ответить с цитированием
Старый 19.08.2011, 22:44   #279
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Имитация водной поверхности.

по идее да.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (19.08.2011)
Старый 20.08.2011, 14:52   #280
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

Пришла идея 3д редактора многопользовательского.

Все взаимодействие с миром происходит рукой практически идентичной той, что была в блак энд вайт. У меша вершины представленны пикабельными кубами меняющими цвет от действий-бездействий юзеров.

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


Я написал какой-то ужас таки почти не рисующий ненужные вертексы без буферов глубины и прочей хрени правдо оно не рисует вертексы которые дальше позиции ентити от камеры

Последний раз редактировалось dsd, 24.08.2011 в 23:19.
(Offline)
 
Ответить с цитированием
Старый 25.08.2011, 20:35   #282
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

\window\main.cpp||In function 'int Horse()':|
\window\main.cpp|15|error: invalid conversion from 'HWND__*' to 'Handle'|
\window\main.cpp|15|error: initializing argument 1 of 'void xSetRenderWindow(Handle)'|
||=== Build finished: 2 errors, 1 warnings ===|

Как правильно HWND в хэндл окна понятный xSetRenderWindow(Handle) сконвертировать?
(Offline)
 
Ответить с цитированием
Старый 25.08.2011, 21:13   #283
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Имитация водной поверхности.

xSetRenderWindow((Handle)hwnd);

у меня работало
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (25.08.2011)
Старый 27.08.2011, 02:25   #284
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Ответ: Имитация водной поверхности.

1. Сравниваю нормаль вершины и вектор от камеры до вершины. При угле меньшем 90 точка видна.
2. Пишу в массив координаты видимых точек и расстояния от камеры до каждой из точек. Сортирую точки по расстоянию. И еще разбиваю на квадраты само изображение и для каждого нахожу ближайшую точку.
3. Теперь для ближайшей узнаю каким полигонам она принадлежит, они точно видимые. Получаю первый и стопицотый «островок видимости». Ставлю флаг обработанным вершинам. Выкидываю те вершины которые не обработались и попали в границы островков.
4. Анализирую полигоны имеющие в себе стопудово видимые вершины. После обхода каждого острова маркирую скрывшиеся вершины, и так пока все вершины не получат флаг видимости-невидимости.

А теперь расскажите как это делают нормальные люди
(Offline)
 
Ответить с цитированием
Старый 27.08.2011, 02:33   #285
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Имитация водной поверхности.

А у Xors3D нету возможности пикать триангл? Думаю если есть пики, то и триангл найти от пика не составит труда.
Таким образом имея данные о триангле, можно получить данные о его вершинах..

А ваще это изврат делать подобного рода вещи на такого рода движке. Для этого лучше писать свой гапи, свой формат моделей и напрямую работать с ними, это будет лучше в разы, меньше изврата, больше доступа ко всему и контроля..
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
dsd (27.08.2011), HolyDel (27.08.2011), L-ee-X (28.08.2011), Mr_F_ (27.08.2011)
Ответ


Опции темы

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

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


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


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