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

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

Вернуться   forum.boolean.name > Проекты > Проекты C++

Ответ
 
Опции темы
Старый 15.12.2013, 18:00   #136
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

Много воды утекло с прошлой версии.

В основном технические изменения.

А именно:
1) Переделал рендерер - появились соответствующие компоненты типа IVertexBuffer, ITexture и т.п. Таким образом рендерер под OpenGL написать будет просто.
2) Ускорил загрузку моделек - в т.ч. уровня. Ранее уровень размером в 1,2 мб грузился за 10 сек, сейчас за 1,2
3) Добавил врагов - пока только ближний бой.
4) Добавил меню - в нем минималистические настройки( настройки графики пока не работают )
5) В скрипты добавил работу с GUI.

Мне нужен код который считает тангенты и бинормали. Тогда смогу сделать бамп или параллакс. А пока просто диффузный свет.

Еще кидайте мне лог( лежит в data/logs ) и фпс.

Скачать
__________________

(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
Arton (16.12.2013), Samodelkin (16.12.2013), St_AnGer (17.12.2013)
Старый 16.12.2013, 03:44   #137
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: [TrueHorror] - разработка

Запустил. Увидел туннель, понравилось, ассоциации с Пенумброй. Решил сменить графику в меню - вылет.
Запустил по новой, нажал играть. Оказался на какой-то дороге в лесу, ночью. Первое что заметил нежелательное присутствие курсора =_="

Затем странный фонарь, когда проводишь внизу него курсором, издаётся щелчок как в меню по кнопкам. На том месте как раз интерфейс:


Огляделся по сторонам, везде было очень темно, ничего не видно. По правую руку, дорого вела в пещеру, в скале, перед которой, топтались двое подозрительных типов. Пошёл к ним. Один из них быстрым шагом двинулся мне на встречу. Как будто только и ждал когда пойду в их сторону, в его левой руке был нож.
Стало ясно чем это кончится. Особо не раздумывая я рванул вперёд, к пещере, надеясь спрятаться там. Обогнул первого человека, он махнул на меня ножом, но это было уже неважно. Пробежал мимо второго, забежал внутрь и обернулся что бы посмотреть. Один из мужчин топтался перед входом и по каким-то причинам не мог войти...
Любопытство вело меня дальше, в глубь скалы по туннелю. Я пошёл и встретил настоящий страх - перетянутые текстуры:


Перетянутые текстуры заканчивались непроглядной чернотой, я по инерции вбежал в неё, тьма окутала меня со всех сторон. Я замотал головой по сторонам, в надежде увидеть свет. Наконец я увидел три белых точки быстро уходящих вдаль:


"Вылетел с уровня" - подумал я и выключил игру.

FPS ~75
Log.zip

Последний раз редактировалось Arton, 16.12.2013 в 05:14.
(Online)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Arton за это полезное сообщение:
impersonalis (16.12.2013), mr.DIMAS (16.12.2013)
Старый 16.12.2013, 12:21   #138
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Мне нужен код который считает тангенты и бинормали.
D3DXComputeTangentFrameEx - считает тангенты и если нужно то бинормали и нормали.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mr.DIMAS (16.12.2013)
Старый 16.12.2013, 12:58   #139
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: [TrueHorror] - разработка

Мне нужен код который считает тангенты и бинормали
http://www.terathon.com/code/tangent.html
этот никогда не подводил
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mr.DIMAS (16.12.2013)
Старый 16.12.2013, 21:30   #140
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Затестил - нормально. Меню выглядит многообещающе. Игра короткая, там действительно при входе в тоннель проваливаешься вниз и всё. У меня враги смогли в тоннель забежать. Да на фонаре тоже звук как будто по кнопкам меню проводишь.

Как всегда тестил на медленном железе: в целом довольно шустро работает, но из-за того что скорость игры завязана на fps играть не удобно. С включённой синхронизацией постоянно скачки - то 60, то 30, то 20, с выключенной чуть удобней, но теперь нету верхнего предела и при входе в тоннель например при 200 fps все слишком быстро происходит. Так что fps 20-200 - вот такой разброс.

Лог на другой машине, но в нём все нормально - время загрузки scene.cxm 453ms, arrival.cxm 1635ms
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mr.DIMAS (16.12.2013)
Старый 18.12.2013, 23:30   #141
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

Наконец-то разобрался с расчетом нормалей. Ранее нормаль вычислялась только для грани, а теперь для каждой вершины - спасибо Борескову за код . Теперь можно тангенты и бинормали считать.

Скрины - до и после:
Миниатюры
Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 742
Размер:	288.3 Кб
ID:	19933  Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 811
Размер:	290.9 Кб
ID:	19934  
__________________

(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
Arton (19.12.2013), FREE MAN (22.12.2013), impersonalis (22.12.2013), SBJoker (19.12.2013), St_AnGer (19.12.2013)
Старый 22.12.2013, 02:25   #142
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

Бамп пока не добавил. Сейчас работаю над модельками и картой, попутно исправляя баги в движке.

На скринах можно заметить z fighting. Сразу вопрос как в ДХ 9 его убрать?

Скрины:
Миниатюры
Нажмите на изображение для увеличения
Название: mine_release 2013-12-22 01-23-01-49.jpg
Просмотров: 770
Размер:	237.9 Кб
ID:	19941  Нажмите на изображение для увеличения
Название: mine_release 2013-12-22 01-23-11-46.jpg
Просмотров: 796
Размер:	322.4 Кб
ID:	19942  Нажмите на изображение для увеличения
Название: mine_release 2013-12-22 01-23-14-08.jpg
Просмотров: 775
Размер:	296.5 Кб
ID:	19943  Нажмите на изображение для увеличения
Название: mine_release 2013-12-22 01-23-16-91.jpg
Просмотров: 806
Размер:	377.5 Кб
ID:	19944  Нажмите на изображение для увеличения
Название: mine_release 2013-12-22 01-23-20-23.jpg
Просмотров: 764
Размер:	230.6 Кб
ID:	19945  

__________________

(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
ARA (22.12.2013), Arton (22.12.2013), FREE MAN (22.12.2013), St_AnGer (22.12.2013)
Старый 22.12.2013, 11:30   #143
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: [TrueHorror] - разработка

На скринах можно заметить z fighting
на скринах вижу только зад негра. в каком месте зфайтинг?
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 22.12.2013, 18:28   #144
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Z файтинг убирается увеличением буфера глубины (или его точностью).
В D3DPRESENT_PARAMETERS ставишь AutoDepthStencilFormat в D3DFMT_D32 или D3DFMT_D24S8 или D3DFMT_D32F_LOCKABLE в зависимости от предпочтений. Обычно можно обойтись и 24 битным.

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

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

Ни на скринах с нормалями ни на скринах зфайтинга я ничего не могу понять - я вижу только ТЕМНОТУ!
(Offline)
 
Ответить с цитированием
Старый 01.01.2014, 12:05   #145
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Ответ: [TrueHorror] - разработка

fps 30-60
я смог залезть на фонарь и дальше гулять по горам ,далее вылетел за карту вот и все .

кстати , дебаг лога нет !


-- keep your fucking hands away from this code
-- your brain is too small for this
-- ну ты понял

порадовало
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо tirarex за это полезное сообщение:
Arton (01.01.2014), mr.DIMAS (08.01.2014), Samodelkin (01.01.2014)
Старый 08.01.2014, 01:40   #146
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

К чему может привести подобный подход( я про return reinterpret_cast< int >( font );?

int CreateFont( int size, const char * name, int italic, int underlined )
{
  ID3DXFont * font;

  D3DXCreateFontA( g_device, -1, size, FW_BOLD, 0, italic, RUSSIAN_CHARSET, OUT_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, name, &font );

  return reinterpret_cast< int >( font );
}
__________________

(Offline)
 
Ответить с цитированием
Старый 08.01.2014, 02:52   #147
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Все зависит от тебя - если накосячишь то компилятор тебе не поможет. А так само значение переменной здесь меняться не будет. Но такая штука больше смахивает на костыль и это означает что у тебя проблемы с архитектурой движка.

Кстати эти шрифты (d3dxfont) ужасно медленные, если ими заполнить хотябы половину экрана то fps у меня на i7 и hd5870 падает ниже 10. Настройки качества шрифтов ничего особого не дают. Незнаю есть ли другие решения, я особо не искал, но у себя я в конце концов сделал через текстуры. Так что если ограничишься выводом fps и еще пару-тройку параметров то всё ок, а вот если будешь выводить страницы текста то лучше найти другое решение.
(Offline)
 
Ответить с цитированием
Старый 08.01.2014, 16:07   #148
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

Я решил обособить движок в отдельную библиотеку. Классовый интерфейс мне не понравился - там куча проблем с ромбовидным наследованием и прочая муть. Поэтому к большинству объектов вне движка теперь можно обратиться с помощью хендлов( в данном случае int ) и функций работающих с ними. Вот и вся история.
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mr_F_ (08.01.2014)
Старый 08.01.2014, 17:06   #149
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: [TrueHorror] - разработка

хендлы сами по себе тоже необязательно заморачивать, это могут быть просто номера объектов в массивах)
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mr.DIMAS (08.01.2014)
Старый 08.01.2014, 21:37   #150
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Более того их необязательно получать сразу. Опять же в качестве примера как я сделал у себя: для большинства объектов достаточно стандартной обработки, которая уже прописана жёстко в коде, например того класса контейнера который содежит эти объекты, а если всё таки потребуется особая работа с объектом то можно получить его локальный хендл/номер_в_массиве, таким образом избавляемся от большой кучи всяких глобальных указателей/хендлов, которые надо где-то хранить и кудато передавать. Кстати в том же d3d9 совсем не обязательно хранить указатели у себя в коде - их всегда можно получить локально через тот объект с которым работаешь. Например если в качестве аргумента в функцию дается IDirect3DTexture9 ты можешь внутри функции получить tex->GetDevice().

ЗЫ: вообще имхо чем большое хардкода (без потери функциональности) - тем лучше, проще и надежнее движок. Все манипуляции с движком лучше делать через скрипты/тулзы и прочие внешние инструменты.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mr.DIMAS (08.01.2014)
Ответ


Опции темы

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

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


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


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