GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (36 стр.)

Сообщения на форуме пользователя Andrey (36 стр.)

Баги с компилляцией шейдеров в DirectX [DX11]12 янв. 201112:26#77
innuendo
>а по шейдерам что скажешь ? типа DX всё точно как швейцарские часики ?
там сложнее ситуация намного

Баги с компилляцией шейдеров в DirectX [DX11]12 янв. 201112:19#75
.L
Синглентон без утечек:
#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;
_zerg_
Ну да тоже решение но более громоздкое.
Баги с компилляцией шейдеров в DirectX [DX11]12 янв. 201110:28#70
.L
Странно зачем тебе Log выделять в heap, типа шаблон синглентона и так красиво современно и может по александрийски?. Кстати твой лог возможно будет тормозить на частых записях в файл без буферизации вывода в файл. Вместо CreateFile используй fopen/fprintf/fclose.
2d vs 3d7 янв. 201121:40#20
oistalker
> > сложнее 3D, разумеется)))
> > в 3D все сложнее:
> Интересно, как ты посчитал? 2D лишь частный случай 3D, с точки зрения
> программирования. С точки же зрения создания контента, - 3D менее трудоемок.
у... смешно.
> > модели,
> Да ты че? Сделать одну модель проще, чем 100500 спрайтов с разным оружием и
> анимацией
> > поиск пути
да. с поиском пути наверное практически все одинаково.
> почему?
> > освещение, тени и тдтп
> В чём тут сложность? Прочитать пару статей и один раз сделать?
Освещение тени и остальные эффекты в разы сложней в 3D играх, ты несешь полную чушь.
Добавим еще сюда 3D звук физику для 3D случая и сложность 3D игры возростает в несколько порядков по сравнению с 2D.

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

Почему конторы пищущие 3D игры в крупных городах? потому что проще 3D контент сделать? 2D игры можно делать и в тундре. Смешной пост написал. Елдинственное верно подмечено это поиск пути и то - для частных случаев.

Помогите вырасти из быдлокодера29 дек. 201010:47#70
Снаут
> > Пример неудачный <...> Вообще-то есть stl, поэтому строки в стиле C априори
> > быдлокод
да ну?? Вот и тормозит потом софт из-за таких утверждений. Везде всунуть std::map, boost, std::vector std::string и не подумать, а нужно ли?
или ты банковский/бизнес софт пишешь? там можно всовывать такое не думая.
На какие ещё мерзости пойдёт м$, пытаясь раскручивать свой шарп?27 дек. 201012:33#283
Pushkoff
> liblzf
Спасибо за либу! посмотрим :)
Отчередной велосипед. Движок.24 дек. 201013:12#4
snake32
Перенеси тему в графика.
>Если я захочу сделать загружать/выгружать с диска в отдельном потоке, как это правильно сделать?
Вместо многопоточности подумай насчет ASYNC I/O. Реализация проще, не нужно синхронизировать данные.
> Ведь на сколько знаю OpenGL не умеет работать в многопоточном режиме.
Отлично работает. Главное расшаренный контекст создавать на основании ОТДЕЛЬНОГО маленького окна.
как подкрасить меш, opengles 1.121 дек. 201018:18#6
innuendo
для OpenGL ES 2.0 есть GLSL.
Ад-ский рейтрейсер21 дек. 201015:56#51
FROL
Я думаю по производительности ADA полностью в пролете. Встроенная многопоточность в язык особо не решает проблем мультипоточного программирования и не намного проще разрабатывать. Ну и паскалевский синтаксис это минус, узко специализированный язык тоже минус. А так для интереса изучить и забыть можно.
как подкрасить меш, opengles 1.121 дек. 201014:47#1
kas
>иногда бывает текстура ( Ct )
тут нужно копать функцию glTexEnvf/glTexEnvf
>и есть ещё глобальный цвет, который один на glDrawElements (Cm)
...
const float ambient[4];
...
glMaterialfv(GL_FRONT, GL_AMBIENT, ambient);
В общем нужно попробовать комбинацию вызовов этих функций.
Материалы18 дек. 20101:30#75
innuendo
> передача массива(ов) не спасёт отца русского геймдева ? :)
хм... отличная идея!
но эти расширения я потестирую на быстродействия
Материалы17 дек. 201018:22#72
Z
> в свои лучше года сидел на 20% перформанса в strcmp()
Кашмар...
innuendo
я скоро думаю взяться за подставку к коду кода выданного Cg->GLSL строки позволяющие использовать либо GL_EXT_bindable_uniform или GL_ARB_uniform_buffer_object. Надо же все-таки константы передавать за 1 вызов.
Материалы17 дек. 201014:56#53
innuendo
> ты в курсе, что в куче игрушек под PC так и передают по 1 константе за вызов ?
т.е. мне бежать переписать код что-бы слать по 1 константе потому-что это в куче игрушек? Херню несешь вообще-то.
Материалы17 дек. 201013:44#39
kas
> или ваш глсл не позволяет ставить константочки по индексу? а не по одной?
там передавать пачками можно через только через отдельные расширения, причем одно из них современное оказалось медленным была тут тема от Executor, либо городить внутри кода массив, или по умолчанию передавать по 1 константе.
Материалы17 дек. 201012:05#17
Sergio
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)
в качестве параметра я так понимаю будет что-то типа "TextureWrap", "TextureFilter", "TextureUnitNum" и т.д.
ну и почему нельзя сделать
enum TextureParameters {
  TextureWpap,
  TextureFilter,
  TextureUnitNum,
  TotalParam
};
Все теперь упрощается. Никакого STL, никаких лишних, ненужных, выделений памяти, меньше кешь промахов, чище код.
...
Texture _textureParameters[TotalParam];
...
inline void setTexture(TextureParameters  param, const Texture& value)
{
  textureParameters[param] = value;
}
С поиском я думаю понятно тоже.
Кто тебя так учил вести поиск в stdext::hash_map ? Рекомендую в обязательном порядке прочитать книгу "Эффективное использования STL" вроде Майерс автор

Следующие темы >>

2001—2012 © GameDev.ru — Разработка игр