Dwayne Slater
141fe87a0f
Add immediate mode vertex submission
10 years ago
MerryMage
0e58079fcd
renderer_opengl: Initalise fragment shader LUT textures
10 years ago
Dwayne Slater
77879fcf08
Fix out of bounds array access when loading a component >= 12
10 years ago
Dwayne Slater
ad2c86d416
Add support for padding vertex attributes
10 years ago
MerryMage
867c111e99
BitField: Make trivially copyable and remove assignment operator
10 years ago
bunnei
a5f5751b75
pica: Cleanup lighting register definitions and documentation.
10 years ago
bunnei
0a12278cd2
gl_rasterizer: Use alignas(16) instead of explicit padding.
10 years ago
bunnei
1dd1f58218
renderer_opengl: Use GLvec3/GLvec4 aliases for commonly used types.
10 years ago
bunnei
a6ad0df69f
gl_rasterizer: Fix issue with interpolation of opposite quaternions.
10 years ago
bunnei
0e48729a3a
pica_types: Fix typo in docstring.
10 years ago
bunnei
cc283bfedd
pica_types: Replace float24/20/16 with a template class.
10 years ago
bunnei
27523be7a4
command_processor: Add an assertion to ensure LUTs are not written past their boundaries.
10 years ago
bunnei
fb6e05281c
gl_rasterizer: Remove unnecessary casts.
10 years ago
bunnei
a30c609b75
gl_rasterizer: Fix PicaShaderConfig on GCC.
10 years ago
bunnei
4e22e5544a
gl_rasterizer: Initial implementation of bump mapping.
10 years ago
bunnei
da4f531a59
gl_shader_gen: Fix bug in LUT range (should within range [0, 255] not [0, 256]).
10 years ago
bunnei
ff25eb8cc9
gl_shader_gen: Implement lighting red, green, and blue reflection.
10 years ago
bunnei
4f0fc85f84
gl_shader_gen: View should be normalized.
10 years ago
bunnei
d376a783ea
gl_shader_gen: Implement fragment lighting fresnel effect.
10 years ago
bunnei
b07c7c26c6
gl_shader_gen: Implement fragment lighting specular 1 component.
10 years ago
bunnei
f878148e30
gl_shader_gen: Add support for D0 LUT scaling.
10 years ago
bunnei
481017a334
gl_shader_gen: Refactor lighting config to match Pica register naming.
- Also implement D0 LUT enable.
10 years ago
bunnei
1bb0aa6c01
pica: Cleanup and add some comments to lighting registers.
10 years ago
bunnei
2658c7f266
gl_rasterizer: Minor naming refactor on Pica register naming.
10 years ago
bunnei
f7510ba8f0
gl_shader_gen: Reorganize and cleanup lighting code.
- No functional difference.
10 years ago
bunnei
9cd5c49ee5
gl_shader_gen: Fix directional lights.
10 years ago
bunnei
aabc988463
gl_shader_gen: Fix bug with lighting where clamp highlights was only applied to last light.
10 years ago
bunnei
14877aa76f
gl_shader_gen: View vector needs to be normalized when computing half angle vector.
10 years ago
bunnei
bb3014fb28
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
81511f08fa
renderer_opengl: Initial implementation of basic specular lighting.
10 years ago
bunnei
49cd958486
renderer_opengl: Implement HW fragment lighting distance attenuation.
10 years ago
bunnei
11fba4e8d0
renderer_opengl: Implement HW fragment lighting LUTs within our default UBO.
10 years ago
bunnei
07b07a2f24
renderer_opengl: Implement diffuse component of HW fragment lighting.
10 years ago
bunnei
3c3e328340
pica: Implement decoding of basic fragment lighting components.
- Diffuse
- Distance attenuation
- float16/float20 types
- Vertex Shader 'view' output
10 years ago
bunnei
8a9194f06e
pica: Implement fragment lighting LUTs.
10 years ago
bunnei
fe094ec9a0
pica: Add decodings for distance attenuation and LUT registers.
10 years ago
bunnei
d5edd881d3
pica: Add pica_types module and move float24 definition.
10 years ago
tfarley
958e67ab53
hwrasterizer: Use proper cached fb addr/size
10 years ago
Yuri Kunde Schlesner
e82e3f64fd
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
c922298b37
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
b4c68589f6
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
d1096d9adc
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
ee33d54b6f
hwrasterizer: Use depth offset
10 years ago
Lioncash
3b682a824e
command_processor: Get rid of variable shadowing
10 years ago
Lioncash
4dcc5fe6ab
video_core: Make the renderer global a unique_ptr
10 years ago
Lioncash
d70ea5b6aa
swrasterizer: Add missing override specifier
10 years ago
Yuri Kunde Schlesner
b7109a1113
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
102d39fe20
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
192829165a
VideoCore: Rename HWRasterizer methods to be less confusing
10 years ago
Yuri Kunde Schlesner
c2526d440e
OpenGL: Rename cache functions to better match what they actually do
10 years ago