p.s.: алсо, Ремилия запилила охуенную карту с освещением, специально заточеным под k8vavoom. сразу предупреждаю: карта жопонадирательная (сложнее обычного UV).
новый билд. фиксит распиздос графония на свежих невидия-дровах.
а потому что когда дяденька Кнут говорит, что нехуй оптимайзить то, что и так пиздато работает — его надо слушать и делать как сказано, а не выёбываться.
новобилд. ничего особого, но если вы на винде — то обязательно обновитесь. в прошлом билде я решил дохуя оптимизировать, и поломал нахуй всю математику. это не особо заметно в стандартном режиме при беглых тестах, но генерирует дохуя хэйзенбагов в неожиданных местах.
пытаюсь понять, что Янис сделал с порталами, как я их поломал, и как вернуть это обратно. пока не совсем, и ещё проглюкивает, но кое-что уже восстановил.
к сожалению, и порталы, и shadow volumes, и декали хотят stencil buffer. поэтому в зеркалах не отражается кровища на стенах, и нет стенсильного динамического освещения (лайтмаповое есть).
в принципе, можно попробовать рендерить зеркала в отдельный FBO, а потом его блитать: тогда стенсили нужны только в момент блита. и поставить scissor по порталу ещё. так, может, даже будет быстрее и лучше.
благодаря поняшу, который запилил порт на ведроид, начал потихоньку укатываться с `glVertex()` на VBO. во-первых, это красиво это резко уменьшает количество вызовов OpenGL API (не критично, но приятно). во-вторых, рано или поздно придётся переезжать на core profile (увы), а там никаких тебе `glVertex()`. также после переката можно будет сочинять кэш геометрии, чтобы не реаплоадить всё с нуля на каждом кадре, а засунуть в GPU надолго и побольше всего.
конечно, даже этого начального этапа хватит лет на двести корячиться, но главное повалить — а там затопчем.
p.s.: даже в таком виде можно сделать кэш геометрии на один кадр. д3-подобный рендер офигенно многопроходный (ambient lighting, dynamic lighting, texturing, fog), и как минимум ambient/texture/fog используют один и тот же набор полигонов (точнее, разные части в разном порядке одного набора). соответственно вместо чтобы каждый раз заново гонять координаты в GPU, это можно сделать один раз в начале кадра. таки уже экономия почти в три раза будет. на ванильке, конечно, не заметно, но какой-нибудь Frozen Time может и ускориться немного.