Сообщения на форуме пользователя Andrey (36 стр.)
Баги с компилляцией шейдеров в DirectX [DX11] | 12 янв. 2011 | 12:26 | #77 |
---|
innuendo
>а по шейдерам что скажешь ? типа DX всё точно как швейцарские часики ?
там сложнее ситуация намного
>а по шейдерам что скажешь ? типа DX всё точно как швейцарские часики ?
там сложнее ситуация намного
Баги с компилляцией шейдеров в DirectX [DX11] | 12 янв. 2011 | 12:19 | #75 |
---|
.L
Синглентон без утечек:
_zerg_
Ну да тоже решение но более громоздкое.
Синглентон без утечек:
#include <memory> template <typename T> class Singleton { static std::auto_ptr<T> instance; protected: Singleton() { } public: virtual void initialize() { } static inline T *me() { if (!instance.get()) { instance.reset(new T()); instance->initialize(); } return instance.get(); } }; template <class T> std::auto_ptr<T> Singleton<T>::instance;
Ну да тоже решение но более громоздкое.
Баги с компилляцией шейдеров в DirectX [DX11] | 12 янв. 2011 | 10:28 | #70 |
---|
.L
Странно зачем тебе Log выделять в heap, типа шаблон синглентона и так красиво современно и может по александрийски?. Кстати твой лог возможно будет тормозить на частых записях в файл без буферизации вывода в файл. Вместо CreateFile используй fopen/fprintf/fclose.
Странно зачем тебе Log выделять в heap, типа шаблон синглентона и так красиво современно и может по александрийски?. Кстати твой лог возможно будет тормозить на частых записях в файл без буферизации вывода в файл. Вместо CreateFile используй fopen/fprintf/fclose.
2d vs 3d | 7 янв. 2011 | 21:40 | #20 |
---|
oistalker
> > сложнее 3D, разумеется)))
> > в 3D все сложнее:
> Интересно, как ты посчитал? 2D лишь частный случай 3D, с точки зрения
> программирования. С точки же зрения создания контента, - 3D менее трудоемок.
у... смешно.
> > модели,
> Да ты че? Сделать одну модель проще, чем 100500 спрайтов с разным оружием и
> анимацией
> > поиск пути
да. с поиском пути наверное практически все одинаково.
> почему?
> > освещение, тени и тдтп
> В чём тут сложность? Прочитать пару статей и один раз сделать?
Освещение тени и остальные эффекты в разы сложней в 3D играх, ты несешь полную чушь.
Добавим еще сюда 3D звук физику для 3D случая и сложность 3D игры возростает в несколько порядков по сравнению с 2D.
> > сложнее 3D, разумеется)))
> > в 3D все сложнее:
> Интересно, как ты посчитал? 2D лишь частный случай 3D, с точки зрения
> программирования. С точки же зрения создания контента, - 3D менее трудоемок.
у... смешно.
> > модели,
> Да ты че? Сделать одну модель проще, чем 100500 спрайтов с разным оружием и
> анимацией
> > поиск пути
да. с поиском пути наверное практически все одинаково.
> почему?
> > освещение, тени и тдтп
> В чём тут сложность? Прочитать пару статей и один раз сделать?
Освещение тени и остальные эффекты в разы сложней в 3D играх, ты несешь полную чушь.
Добавим еще сюда 3D звук физику для 3D случая и сложность 3D игры возростает в несколько порядков по сравнению с 2D.
я еще не учитываю сложность разработки 3D редактора, остальных редакторов(частиц, материалов, ландшафта и т.д.)экспортеров, конвертаторов и остальных нужных дополнительных утилитных средств.
Почему конторы пищущие 3D игры в крупных городах? потому что проще 3D контент сделать? 2D игры можно делать и в тундре. Смешной пост написал. Елдинственное верно подмечено это поиск пути и то - для частных случаев.
Помогите вырасти из быдлокодера | 29 дек. 2010 | 10:47 | #70 |
---|
Снаут
> > Пример неудачный <...> Вообще-то есть stl, поэтому строки в стиле C априори
> > быдлокод
да ну?? Вот и тормозит потом софт из-за таких утверждений. Везде всунуть std::map, boost, std::vector std::string и не подумать, а нужно ли?
или ты банковский/бизнес софт пишешь? там можно всовывать такое не думая.
> > Пример неудачный <...> Вообще-то есть stl, поэтому строки в стиле C априори
> > быдлокод
да ну?? Вот и тормозит потом софт из-за таких утверждений. Везде всунуть std::map, boost, std::vector std::string и не подумать, а нужно ли?
или ты банковский/бизнес софт пишешь? там можно всовывать такое не думая.
На какие ещё мерзости пойдёт м$, пытаясь раскручивать свой шарп? | 27 дек. 2010 | 12:33 | #283 |
---|
Pushkoff
> liblzf
Спасибо за либу! посмотрим :)
> liblzf
Спасибо за либу! посмотрим :)
Отчередной велосипед. Движок. | 24 дек. 2010 | 13:12 | #4 |
---|
snake32
Перенеси тему в графика.
>Если я захочу сделать загружать/выгружать с диска в отдельном потоке, как это правильно сделать?
Вместо многопоточности подумай насчет ASYNC I/O. Реализация проще, не нужно синхронизировать данные.
> Ведь на сколько знаю OpenGL не умеет работать в многопоточном режиме.
Отлично работает. Главное расшаренный контекст создавать на основании ОТДЕЛЬНОГО маленького окна.
Перенеси тему в графика.
>Если я захочу сделать загружать/выгружать с диска в отдельном потоке, как это правильно сделать?
Вместо многопоточности подумай насчет ASYNC I/O. Реализация проще, не нужно синхронизировать данные.
> Ведь на сколько знаю OpenGL не умеет работать в многопоточном режиме.
Отлично работает. Главное расшаренный контекст создавать на основании ОТДЕЛЬНОГО маленького окна.
как подкрасить меш, opengles 1.1 | 21 дек. 2010 | 18:18 | #6 |
---|
innuendo
для OpenGL ES 2.0 есть GLSL.
для OpenGL ES 2.0 есть GLSL.
Ад-ский рейтрейсер | 21 дек. 2010 | 15:56 | #51 |
---|
FROL
Я думаю по производительности ADA полностью в пролете. Встроенная многопоточность в язык особо не решает проблем мультипоточного программирования и не намного проще разрабатывать. Ну и паскалевский синтаксис это минус, узко специализированный язык тоже минус. А так для интереса изучить и забыть можно.
Я думаю по производительности ADA полностью в пролете. Встроенная многопоточность в язык особо не решает проблем мультипоточного программирования и не намного проще разрабатывать. Ну и паскалевский синтаксис это минус, узко специализированный язык тоже минус. А так для интереса изучить и забыть можно.
как подкрасить меш, opengles 1.1 | 21 дек. 2010 | 14:47 | #1 |
---|
kas
>иногда бывает текстура ( Ct )
тут нужно копать функцию glTexEnvf/glTexEnvf
>и есть ещё глобальный цвет, который один на glDrawElements (Cm)
В общем нужно попробовать комбинацию вызовов этих функций.
>иногда бывает текстура ( Ct )
тут нужно копать функцию glTexEnvf/glTexEnvf
>и есть ещё глобальный цвет, который один на glDrawElements (Cm)
... const float ambient[4]; ... glMaterialfv(GL_FRONT, GL_AMBIENT, ambient);
Материалы | 18 дек. 2010 | 1:30 | #75 |
---|
innuendo
> передача массива(ов) не спасёт отца русского геймдева ? :)
хм... отличная идея!
но эти расширения я потестирую на быстродействия
> передача массива(ов) не спасёт отца русского геймдева ? :)
хм... отличная идея!
но эти расширения я потестирую на быстродействия
Материалы | 17 дек. 2010 | 18:22 | #72 |
---|
Z
> в свои лучше года сидел на 20% перформанса в strcmp()
Кашмар...
innuendo
я скоро думаю взяться за подставку к коду кода выданного Cg->GLSL строки позволяющие использовать либо GL_EXT_bindable_uniform или GL_ARB_uniform_buffer_object. Надо же все-таки константы передавать за 1 вызов.
> в свои лучше года сидел на 20% перформанса в strcmp()
Кашмар...
innuendo
я скоро думаю взяться за подставку к коду кода выданного Cg->GLSL строки позволяющие использовать либо GL_EXT_bindable_uniform или GL_ARB_uniform_buffer_object. Надо же все-таки константы передавать за 1 вызов.
Материалы | 17 дек. 2010 | 14:56 | #53 |
---|
innuendo
> ты в курсе, что в куче игрушек под PC так и передают по 1 константе за вызов ?
т.е. мне бежать переписать код что-бы слать по 1 константе потому-что это в куче игрушек? Херню несешь вообще-то.
> ты в курсе, что в куче игрушек под PC так и передают по 1 константе за вызов ?
т.е. мне бежать переписать код что-бы слать по 1 константе потому-что это в куче игрушек? Херню несешь вообще-то.
Материалы | 17 дек. 2010 | 13:44 | #39 |
---|
kas
> или ваш глсл не позволяет ставить константочки по индексу? а не по одной?
там передавать пачками можно через только через отдельные расширения, причем одно из них современное оказалось медленным была тут тема от Executor, либо городить внутри кода массив, или по умолчанию передавать по 1 константе.
> или ваш глсл не позволяет ставить константочки по индексу? а не по одной?
там передавать пачками можно через только через отдельные расширения, причем одно из них современное оказалось медленным была тут тема от Executor, либо городить внутри кода массив, или по умолчанию передавать по 1 константе.
Материалы | 17 дек. 2010 | 12:05 | #17 |
---|
Sergio
Ужас, будем мучишь контроллер кешь памяти?
У тебя что по 20 параметров IntParameters, FloatParameters, VectorParameters, TextureParameters ?
Разве нельзя строки заменить на enum ? Это же уже заранее определенные значения.
К примеру:
в качестве параметра я так понимаю будет что-то типа "TextureWrap", "TextureFilter", "TextureUnitNum" и т.д.
ну и почему нельзя сделать
Все теперь упрощается. Никакого STL, никаких лишних, ненужных, выделений памяти, меньше кешь промахов, чище код.
С поиском я думаю понятно тоже.
Кто тебя так учил вести поиск в stdext::hash_map ? Рекомендую в обязательном порядке прочитать книгу "Эффективное использования STL" вроде Майерс автор
typedef stdext::hash_map<std::string, int> IntParameters; typedef stdext::hash_map<std::string, float> FloatParameters; typedef stdext::hash_map<std::string, vec4> VectorParameters; typedef stdext::hash_map<std::string, Texture> TextureParameters;
У тебя что по 20 параметров IntParameters, FloatParameters, VectorParameters, TextureParameters ?
Разве нельзя строки заменить на enum ? Это же уже заранее определенные значения.
К примеру:
inline void setTexture(const std::string& param, const Texture& value)
ну и почему нельзя сделать
enum TextureParameters {
TextureWpap,
TextureFilter,
TextureUnitNum,
TotalParam
};
... Texture _textureParameters[TotalParam]; ... inline void setTexture(TextureParameters param, const Texture& value) { textureParameters[param] = value; }
Кто тебя так учил вести поиск в stdext::hash_map ? Рекомендую в обязательном порядке прочитать книгу "Эффективное использования STL" вроде Майерс автор