Yuri Kunde Schlesner
0c447e0a06
OpenGL: Don't attempt to draw empty triangle batches
Our code did not handle this well, causing random crashes in some
situations.
10 years ago
LittleWhite
4be68dddfb
Improve error report from Init() functions
Add error popup when citra initialization failed
10 years ago
Yuri Kunde Schlesner
c58bc25d5b
Pica: Write depth value even when depth test is disabled
This has been confirmed on hardware. Fixes Etrian Odyssey IV.
10 years ago
Dwayne Slater
6b775034dd
Add immediate mode vertex submission
10 years ago
MerryMage
0801363840
renderer_opengl: Initalise fragment shader LUT textures
10 years ago
bunnei
19557aaab3
pica: Cleanup lighting register definitions and documentation.
10 years ago
bunnei
c4d318f691
gl_rasterizer: Use alignas(16) instead of explicit padding.
10 years ago
bunnei
aaa7beeda8
renderer_opengl: Use GLvec3/GLvec4 aliases for commonly used types.
10 years ago
bunnei
8e9318f20a
gl_rasterizer: Fix issue with interpolation of opposite quaternions.
10 years ago
bunnei
a949fd5f25
pica_types: Replace float24/20/16 with a template class.
10 years ago
bunnei
310a1c30ca
gl_rasterizer: Remove unnecessary casts.
10 years ago
bunnei
c229503f4a
gl_rasterizer: Fix PicaShaderConfig on GCC.
10 years ago
bunnei
9dfb223d26
gl_rasterizer: Initial implementation of bump mapping.
10 years ago
bunnei
449902b558
gl_shader_gen: Fix bug in LUT range (should within range [0, 255] not [0, 256]).
10 years ago
bunnei
348c9c9ff3
gl_shader_gen: Implement lighting red, green, and blue reflection.
10 years ago
bunnei
01b407638c
gl_shader_gen: View should be normalized.
10 years ago
bunnei
c37de30cfc
gl_shader_gen: Implement fragment lighting fresnel effect.
10 years ago
bunnei
0e67c21c9e
gl_shader_gen: Implement fragment lighting specular 1 component.
10 years ago
bunnei
781b046579
gl_shader_gen: Add support for D0 LUT scaling.
10 years ago
bunnei
3d89dacd56
gl_shader_gen: Refactor lighting config to match Pica register naming.
- Also implement D0 LUT enable.
10 years ago
bunnei
6307999116
pica: Cleanup and add some comments to lighting registers.
10 years ago
bunnei
6878ba7608
gl_rasterizer: Minor naming refactor on Pica register naming.
10 years ago
bunnei
76f303538b
gl_shader_gen: Reorganize and cleanup lighting code.
- No functional difference.
10 years ago
bunnei
5f3bad8fb1
gl_shader_gen: Fix directional lights.
10 years ago
bunnei
bdc72d0904
gl_shader_gen: Fix bug with lighting where clamp highlights was only applied to last light.
10 years ago
bunnei
603b619cbe
gl_shader_gen: View vector needs to be normalized when computing half angle vector.
10 years ago
bunnei
021cb0bced
renderer_opengl: Use textures for fragment shader LUTs instead of UBOs.
- Gets us LUT interpolation for free.
- Some older Intel GPU drivers did not support the big UBOs needed to store the LUTs.
10 years ago
bunnei
bf89870437
renderer_opengl: Initial implementation of basic specular lighting.
10 years ago
bunnei
e34fa6365f
renderer_opengl: Implement HW fragment lighting distance attenuation.
10 years ago
bunnei
e9af70eaf3
renderer_opengl: Implement HW fragment lighting LUTs within our default UBO.
10 years ago
bunnei
afbef52516
renderer_opengl: Implement diffuse component of HW fragment lighting.
10 years ago
tfarley
a15f4d1590
hwrasterizer: Use proper cached fb addr/size
10 years ago
Yuri Kunde Schlesner
05356543d9
OpenGL: Downgrade GL_DEBUG_SEVERITY_NOTIFICATION to Debug logging level
The nVidia driver is *extremely* spammy on this category, sending a
message on every buffer or texture upload, slowing down the emulator and
making the log useless.
10 years ago
tfarley
f53dbafdae
hwrasterizer: Use depth offset
10 years ago
Yuri Kunde Schlesner
195fedccf0
VideoCore: Unify interface to OpenGL and SW rasterizers
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
10 years ago
Yuri Kunde Schlesner
03835d04f4
VideoCore: Rename HWRasterizer methods to be less confusing
10 years ago
Yuri Kunde Schlesner
da80ece8b9
OpenGL: Rename cache functions to better match what they actually do
10 years ago
Yuri Kunde Schlesner
cf81e08389
OpenGL: Flip framebuffers during transfer rather than when rendering
10 years ago
Yuri Kunde Schlesner
95dbc6eb0e
OpenGL: Add support for glFrontFace in the state tracker
10 years ago
Yuri Kunde Schlesner
e9c209ccc8
PICA: Properly emulate 1-stage delay in the combiner buffer
This was discovered and verified by @fincs . The tev combiner buffer
actually lags behind by one stage, meaning stage 1 reads the initial
color, stage 2 reads stage 0's output, and so on.
Fixes character portraits in Fire Emblem: Awakening and world textures
in Zelda: ALBW. Closes #1140 .
10 years ago
bunnei
f008dfbaca
renderer_opengl: Fix uniform issues introduced with kemenaran/avoid-explicit-uniform-location.
10 years ago
Pierre de La Morinerie
0735630744
Use regular uniform location
The support for GL_ARB_explicit_uniform_location is not that good
(53% according to http://feedback.wildfiregames.com/report/opengl/feature/GL_ARB_explicit_uniform_location ).
This fix the shader compilation on Intel HD 4000 (#1222 ).
10 years ago
Subv
823ce62f2f
FragShader: Use an UBO instead of several individual uniforms
10 years ago
Emmanuel Gil Peyrot
53df67376d
OpenGL: Log GL_KHR_debug messages we receive
This allows the driver to communicate errors, warnings and improvement
suggestions about our usage of the API.
10 years ago
bunnei
74186a5f01
gl_shader_gen: Use explicit locations for vertex shader attributes.
10 years ago
bunnei
e663f5c914
gl_shader_gen: Optimize code for AppendAlphaTestCondition.
- Also add a comment to AppendColorCombiner.
10 years ago
bunnei
e7b1f2ae0a
gl_rasterizer: Define enum types for each vertex texcoord attribute.
10 years ago
bunnei
0ebcff710e
gl_shader_gen: Various cleanups to shader generation.
10 years ago
bunnei
240a3b80d9
gl_rasterizer: Use MMH3 hash for shader cache hey.
- Includes a check to confirm no hash collisions.
10 years ago
bunnei
71edb55114
gl_shader_gen: Require explicit uniform locations.
- Fixes uniform issue on AMD.
10 years ago