Lioncash
88d604383e
Common: Get rid of alignment macros
The gl rasterizer already uses alignas,
so we may as well move everything over.
10 years ago
Lioncash
4b5b32e721
renderer_base: In-class initialize variables
10 years ago
Lioncash
be913040a8
render_base: Clarify/normalize getter functions
10 years ago
Lioncash
bf76afc68d
renderer_base: Don't directly expose the rasterizer unique_ptr
There's no reason to allow direct access to the unique_ptr instance. Only
its contained pointer.
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
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