Dwayne Slater
6b775034dd
Add immediate mode vertex submission
10 years ago
MerryMage
0801363840
renderer_opengl: Initalise fragment shader LUT textures
10 years ago
Dwayne Slater
ed8072b48b
Fix out of bounds array access when loading a component >= 12
10 years ago
Dwayne Slater
82fc075ff6
Add support for padding vertex attributes
10 years ago
MerryMage
6c71858c5c
BitField: Make trivially copyable and remove assignment operator
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
b694423d09
pica_types: Fix typo in docstring.
10 years ago
bunnei
a949fd5f25
pica_types: Replace float24/20/16 with a template class.
10 years ago
bunnei
d171822dce
command_processor: Add an assertion to ensure LUTs are not written past their boundaries.
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
bunnei
b003075570
pica: Implement decoding of basic fragment lighting components.
- Diffuse
- Distance attenuation
- float16/float20 types
- Vertex Shader 'view' output
10 years ago
bunnei
281bc90ad2
pica: Implement fragment lighting LUTs.
10 years ago
bunnei
4369767c72
pica: Add decodings for distance attenuation and LUT registers.
10 years ago
bunnei
38c7b20475
pica: Add pica_types module and move float24 definition.
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
Yuri Kunde Schlesner
d01d1f7e01
Debugger: Use 3dbrew names for GPU registers
This list was imported from the 3dbrew wiki page and is pretty much
complete.
10 years ago
Yuri Kunde Schlesner
083d2d89a5
Shader: Implement "invert condition" feature of IFU instruction
If the bit 0 of the JMPU instruction is set, then the jump condition
will be inverted. That is, a jump will happen when the boolean is false
instead of when it is true.
10 years ago
Yuri Kunde Schlesner
c1071c1ff7
Shader JIT: Fix off-by-one error when compiling JMPs
There was a mistake in the JMP code which meant that one instruction at
the destination would be skipped when the jump was taken. This commit
also changes the meaning of the culprit parameter to make it less
confusing and avoid similar mistakes in the future.
10 years ago
tfarley
f53dbafdae
hwrasterizer: Use depth offset
10 years ago
Lioncash
4966568076
command_processor: Get rid of variable shadowing
10 years ago
Lioncash
5e17a586da
video_core: Make the renderer global a unique_ptr
10 years ago
Lioncash
97dc9634a2
swrasterizer: Add missing override specifier
10 years ago
Yuri Kunde Schlesner
015d7b9779
VideoCore: Sync state after changing rasterizers
This fixes various bugs that appear in the HW rasterizer after switching
between it and the SW one during emulation.
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