Напишите рендыр как в порное 2 на 100% VBO.
Мы так не будем делать т.к надо поддерживать мобилки в которых органичено количество униформ в шойдырах и скыннинг на шойдырах много где не заработает. А на компах с этим всё в порядке.
mittorn писал: Напишите рендыр как в порное 2 на 100% VBO.
фпараное дофига чего рисуется не через VBO. Спрайтесы, лучи, аврора, партиклы - это через глбегин всё, а дождик через вертекс-арреи.
Через VBO рисуется только мир, студиомодели и трова.
Implementation note: OpenGL implementations are allowed to reject shaders for implementation-dependent reasons. So you can have fewer active uniform components by your reckoning and still fail to link due to uniform limits. This is usually on hardware that is innately vector hardware. Pre-GeForce 8xxx hardware, and all ATi hardware does this. In this case, you should assume that each separate uniform takes up 4 components, much like it would in D3D. That means a "uniform float" is 4 components, a mat2x4 is 16 components (each row is 4 components), but a mat4x2 is 8 components.
Я это видел, но вопрос в том, что именно возвращает GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB.
Если vec4 блоки, тогда почиму на радионе надо делить на 4?
Я уже по всякому прикидывал - не сходитцо.
Дядя Миша
Полагаю, что это очередная глупость OpenGL в попытке быть не-таким-как-Direct3D.
А вот в OpenGL ES не стали париться и сделали GL_MAX_VERTEX_UNIFORM_VECTORS. Который возвращает то, что ожидается, и делить ничего не надо.
Ну знаете, Vector это необязательно блок из четырёх компонентов.
Цитата:
XaeroX писал: Полагаю, что это очередная глупость OpenGL в попытке быть не-таким-как-Direct3D.
Я уже и на гейдеве спрашивал - безтолку. Мнения разошлись.
Остановился на том, что упаковал все матрицы явным образом в aligned vec4 array и на этом успокоилсо. А ну и лайтстили еще упакавал.
Правда на своей видимокарте ничего не ощутил, потому что гефорц девятой серии.