Если говорить про данный код
Что будет если кто-то будет требовать менеджеры в Awake/OnEnable?
Если говорить в общем
Пример — у нас мультиплеер-шутер и в данном случае мне нужно чтобы игрок мог менять контрол и аудиоменеджер, т.е. чтобы в рантайме я мог заменить GameController c обычного на 'Spectrator' и у него должен быть другой AudioManager, в котором мы можем слышать все переговоры, а не только своей комманды, т.е. я бы хотел иметь возможность делать еще один инстанс GameMode, а это решение мне такой возможности не дает и заставляет просто прописывать всё это во внутрь самих менеджеров
На мой взгляд больше проблема не в самом синглтоне, а в непонимании того что, есть depency injection, который мб и менее очевиден на первый взгляд, но решат все проблемы которые решает и порождает синглтон
И еще — в случае перекрёстных ссылок, получается, что где-то будет использоваться редактор, где-то аттрибут, где-то аксессор. Я могу ошибаться, но меня и моих коллег, вероятно, раздражало бы различная инициализация ссылок на одинаковые по смыслу объекты
KonH у вас есть реальный проект, где вы применяете один из ваших методов кеширования (кроме того, что автоматический назначает переменные в редакторе) и вы получили необходимый прирост фпс или полной загрузки сцены?
Было бы сейчас время свободное от работы. Если и делать уроки, то нужно делать их хорошо, хорошо (на мой взгляд) — это раскрывать какую-то одну большую тему, типа FPS с нуля и до логического мультиплеерного завершения, с полным погружением во весь материал), без лажи которая часто присутсвует в уроках в сети, типа — «а что это значит я не знаю, но не на что не влияет...» или " вот у нас уже тут есть написанный код (чужой), давайте его разбирать". Мне очень понравились уроки по созданию своего OpenGL, но делать такое реально, если я сейчас бы был в академической среде и преподавал бы студентам UE :)Или если бы я каким либо образом мог делать уроки освобождая себя от половины текущей работы, то с радостью бы только этим и занимался бы :)
Это все растет из того, что старые туториалы трубят что нужно наследовать от QGLWidget, а новых не так много. Я так и не понял где тут именно OpenGL ES, кроме как указания precision mediump float; Так, стандартная структура для любого начального OpenGL + Qt приложения. И еще строка
Проекционная матрица была взята отсюда
лично мне не ясна, есть же QMatrix4x4::perspective и QMatrix4x4::ortho.
PS: мне кажется хорошим тоном после посылки переменных в шейдер потом отключать их и делать release шейдеру.
Тут двоякое мнение, некоторые из моих знакомых считают что шейдеры лучше для изучения и более «правильные», я начинал на FFP, поэтому не сразу было просто привыкнуть к PP. Лично мне видится, что давать нужно по кусочку из различных тем сразу, то есть не отдельно сборка freeglut, не отдельно теория по камере, а сразу пример в котором инициализация, немного теории о векторных пр-вах, ан.гему и прочее и тут же код с его применением + пара простейших шейдеров с отрисовкой, например, куба.
С одной стороны получиться много информации за раз, но зато сразу будет требуемый результат. К тому же все это, кроме кода можно рассказывать достаточно абстрактно, т.к. фреймворки (и интерфейсы) все имеют примерно один каркаса для GL (freeglut, glus, sdl), qt отличается (но мало), win32Api будет отличаться сильно (хотя скелет практический не меняется). Насчет всяких cacao и gdk не знаю, не делал. Ан. гем можно давать в виде ссылок на требуемые темы + код c применением матрицы для преобразований и т.д. Ну то есть система лекция + семинар :)
C форума gamedev:
Если раньше неофит мог рисовать кубик через час — то теперь кубик рисуется через месяц после 5 стадийных шейдеров / зверского инстансинга и передачи констант за 1 вызов :) — причём всё это чередуется с постоянными вопросами на форуме — откуда же у меня растут руки ?
Я обеими руками за такие статьи + кучу смежных тем есть. Периодический появляется мысль собрать единомышленников и заняться переводом всяческих GPU Gems'ов
Это не имеет отношение к OpenGL конкретно, а к мат. основам графики в общем. Ну какая разница шейдеру как я задаю матрицы, которые потом ему передаю. Да и в любом случае — viewMatrix вы к чему применять будете?
Singleton в Unity3D
Что будет если кто-то будет требовать менеджеры в Awake/OnEnable?
Если говорить в общем
Пример — у нас мультиплеер-шутер и в данном случае мне нужно чтобы игрок мог менять контрол и аудиоменеджер, т.е. чтобы в рантайме я мог заменить GameController c обычного на 'Spectrator' и у него должен быть другой AudioManager, в котором мы можем слышать все переговоры, а не только своей комманды, т.е. я бы хотел иметь возможность делать еще один инстанс GameMode, а это решение мне такой возможности не дает и заставляет просто прописывать всё это во внутрь самих менеджеров
Singleton в Unity3D
live13.livejournal.com/467905.html
На мой взгляд больше проблема не в самом синглтоне, а в непонимании того что, есть depency injection, который мб и менее очевиден на первый взгляд, но решат все проблемы которые решает и порождает синглтон
Особенности кэширования компонентов в Unity3D
Особенности кэширования компонентов в Unity3D
Особенности кэширования компонентов в Unity3D
(Перевод) Введение в разработку C++ в UE4
www.youtube.com/watch?v=YagDoUPvsOU
У меня пока надобности такой не было, хотя иногда заказчики спрашивают про лины, но дальше разговоров дело не заходит.
(Перевод) Введение в разработку C++ в UE4
Забавные компьютерные ошибки
OpenGL в Qt 5.1 – Часть 1 и 2
OpenGL в Qt 5.1 – Часть 1 и 2
Unity3d. Уроки от Unity 3D Student (B13-B16)
Десять возможностей C++11, которые должен использовать каждый C++ разработчик
[Перевод] BADLAND – игра на cocos2d-iphone
Конкурс Intel Perceptual Computing Challenge. Мотивационный пост
Конкурс Intel Perceptual Computing Challenge. Мотивационный пост
3D принтеры Cube поступают в сеть ритейлерских магазинов Staples (США)
OpenGL ES 2.0 обертка для Qt
PS: мне кажется хорошим тоном после посылки переменных в шейдер потом отключать их и делать release шейдеру.
Настраиваем Windows для программирования OpenGL
С одной стороны получиться много информации за раз, но зато сразу будет требуемый результат. К тому же все это, кроме кода можно рассказывать достаточно абстрактно, т.к. фреймворки (и интерфейсы) все имеют примерно один каркаса для GL (freeglut, glus, sdl), qt отличается (но мало), win32Api будет отличаться сильно (хотя скелет практический не меняется). Насчет всяких cacao и gdk не знаю, не делал. Ан. гем можно давать в виде ссылок на требуемые темы + код c применением матрицы для преобразований и т.д. Ну то есть система лекция + семинар :)
C форума gamedev:
Настраиваем Windows для программирования OpenGL
Настраиваем Windows для программирования OpenGL