If an input attribute array had a field with less than 4 components, the remaining components were left unset if not specified by a default vertex attribute. If neither mechanism would set a component, it would assume a garbage value. It has been verified that the hardware behavior is to instead to set the missing components from the fixed default of (0 0 0 1). The default vertex attribute values aren't used at all if a vertex array is specified for that attribute. Fixes UI graphics on Fire Emblem: Awakening, a small texturing glitch when selecting a character in Cubic Ninja, as well as eliminating the unset-W hack which was required for Ocarina of Time to not have garbled triangles. This change has been tested against hardware. |
||
|---|---|---|
| .. | ||
| debug_utils | ||
| renderer_opengl | ||
| clipper.cpp | ||
| clipper.h | ||
| CMakeLists.txt | ||
| command_processor.cpp | ||
| command_processor.h | ||
| gpu_debugger.h | ||
| hwrasterizer_base.h | ||
| pica.cpp | ||
| pica.h | ||
| primitive_assembly.cpp | ||
| primitive_assembly.h | ||
| rasterizer.cpp | ||
| rasterizer.h | ||
| renderer_base.h | ||
| utils.cpp | ||
| utils.h | ||
| vertex_shader.cpp | ||
| vertex_shader.h | ||
| video_core.cpp | ||
| video_core.h | ||