Если говорить про данный код
Что будет если кто-то будет требовать менеджеры в 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'ов
А какой ответ даст компьютер если сложить 2.0f + 2.0f?
Что будет если кто-то будет требовать менеджеры в Awake/OnEnable?
Если говорить в общем
Пример — у нас мультиплеер-шутер и в данном случае мне нужно чтобы игрок мог менять контрол и аудиоменеджер, т.е. чтобы в рантайме я мог заменить GameController c обычного на 'Spectrator' и у него должен быть другой AudioManager, в котором мы можем слышать все переговоры, а не только своей комманды, т.е. я бы хотел иметь возможность делать еще один инстанс GameMode, а это решение мне такой возможности не дает и заставляет просто прописывать всё это во внутрь самих менеджеров
live13.livejournal.com/467905.html
На мой взгляд больше проблема не в самом синглтоне, а в непонимании того что, есть depency injection, который мб и менее очевиден на первый взгляд, но решат все проблемы которые решает и порождает синглтон
www.youtube.com/watch?v=YagDoUPvsOU
У меня пока надобности такой не было, хотя иногда заказчики спрашивают про лины, но дальше разговоров дело не заходит.
PS: мне кажется хорошим тоном после посылки переменных в шейдер потом отключать их и делать release шейдеру.
С одной стороны получиться много информации за раз, но зато сразу будет требуемый результат. К тому же все это, кроме кода можно рассказывать достаточно абстрактно, т.к. фреймворки (и интерфейсы) все имеют примерно один каркаса для GL (freeglut, glus, sdl), qt отличается (но мало), win32Api будет отличаться сильно (хотя скелет практический не меняется). Насчет всяких cacao и gdk не знаю, не делал. Ан. гем можно давать в виде ссылок на требуемые темы + код c применением матрицы для преобразований и т.д. Ну то есть система лекция + семинар :)
C форума gamedev: