wwylele
a98f20df55
SwRasterizer/Lighting: refactor GetLutValue into a function.
merging similar pattern. Also makes the code more similar to the gl one
9 years ago
wwylele
e34dc666cf
SwRasterizer: only interpolate quat and view when lighting is enabled
9 years ago
wwylele
837642011d
SwRasterizer/Lighting: pass lighting state as parameter
9 years ago
Subv
57bd9fca7a
SwRasterizer/Lighting: Move the clamp highlight calculation to the end of the per-light loop body.
9 years ago
Subv
d96c1bd977
SwRasterizer/Lighting: Move the lighting enable check outside the ComputeFragmentsColors function.
9 years ago
Subv
08ebc3203d
SwRasterizer/Lighting: Do not use global registers state in ComputeFragmentsColors.
9 years ago
Subv
5d5611f3d7
SwRasterizer/Lighting: Do not use global state in LookupLightingLut.
9 years ago
Subv
c2088581a0
SwRasterizer/Lighting: Fixed a bug where the distance attenuation bias was being set to the dist atten scale.
9 years ago
Subv
eefe9b2bed
SwRasterizer: Fixed a few conversion warnings and moved per-light values into the per-light loop.
9 years ago
Subv
232ff77c65
SwRasterizer: Run clang-format
9 years ago
Subv
1dcd48ba2a
SwRasterizer: Flip the vertex quaternions before clipping (if necessary).
9 years ago
Subv
97723538d8
SwRasterizer: Corrected the light LUT lookups.
9 years ago
Subv
9bc4d2754b
SwRasterizer: Corrected the light LUT lookups.
9 years ago
Subv
e50af9c6a1
SwRasterizer: Fixed the lighting lut lookup function.
9 years ago
Subv
3bdb54d954
SwRasterizer: Calculate fresnel for fragment lighting.
9 years ago
Subv
e238921440
SwRasterizer: Calculate specular_1 for fragment lighting.
9 years ago
Subv
e28b936c5d
SwRasterizer: Calculate specular_0 for fragment lighting.
9 years ago
Subv
8e95685a2a
SwRasterizer: Implement primary fragment color.
9 years ago
wwylele
f1afe2baa8
gl_rasterizer: use texture buffer for fog LUT
9 years ago
wwylele
b3f9d734f0
gl_rasterizer: create the texture before applying the state
this is a rebasing error from #2792 . It doesn't affect much though, because the later more Apply() call fixes/hides it
9 years ago
wwylele
3e20762caa
gl_state: reset 1d textures
9 years ago
wwylele
49cf57c079
gl_rasterizer: fix glGetUniformLocation type
9 years ago
wwylele
4dc2b38ce2
gl_rasterizer: manage texture ids in one place
9 years ago
wwylele
98a84efd39
gl_rasterizer/lighting: fix LUT interpolation
9 years ago
wwylele
7318329bbb
gl_rasterizer/lighting: use the formula from the paper for germetic factor
9 years ago
Yuri Kunde Schlesner
ccdeacf149
Stop using reserved operator names (and/or/xor) with Xbyak
Also has the Dynarmic upgrade with the same change
9 years ago
wwylele
a8f1a9cbb4
gl_rasterizer/lighting: implement geometric factor
9 years ago
wwylele
bd01da889f
gl_rasterizer/lighting: Implement tangent mapping
9 years ago
wwylele
8b2aeb449c
gl_rasterizer/lighting: implement lut input 5 (CP)
9 years ago
Yuri Kunde Schlesner
5903948a7a
OpenGL: Update comment on AreQuaternionsOpposite with new information
While debugging the software renderer implementation, it was noticed
that this is actually exactly what the hardware does, upgrading the
status of this "hack" to being a proper implementation. And there was
much rejoicing.
9 years ago
wwylele
a13b327035
pica/rasterizer: implement/stub texture wrap mode 4-7
9 years ago
wwylele
03fbc7f914
gl_rasterizer: implement spot light
9 years ago
wwylele
35339a578c
gl_rasterizer: sync spot light status
9 years ago
wwylele
0ade09f28a
pica: prepare registers for spotlight
9 years ago
wwylele
06dfd8eee1
swrasterizer: implement TextureCube
9 years ago
wwylele
1295e20de3
pica: add registers for texture cube
9 years ago
Yuri Kunde Schlesner
1f22f0939c
CMake: Create INTERFACE targets for microprofile and nihstro
9 years ago
Yuri Kunde Schlesner
96dc0780e9
CMake: Use IMPORTED target for libpng
9 years ago
Yuri Kunde Schlesner
b78ce2bce5
CMake: Correct inter-module dependencies and library visibility
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.
Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
9 years ago
Yuri Kunde Schlesner
b868036561
Move screen size constants from video_core to core
video_core didn't even properly use them, and they were the source of
many otherwise-unnecessary dependencies from core to video_core.
9 years ago
Yuri Kunde Schlesner
2010024c2d
OpenGL: Remove unused RendererOpenGL fields
9 years ago
Yuri Kunde Schlesner
24ca113f3c
OpenGL: Improve accuracy of quaternion interpolation
Current order of operations (rotate then normalize) seems to produce a
lot more distortion than normalizing and then rotating. This makes Citra
results match pretty closesly with hardware, and indicates that hardware
may also be using lerp instead of slerp to interpolate the quaternions.
9 years ago
wwylele
5e5816c800
gl_shader: refactor texture sampler into its own function
9 years ago
wwylele
e965922607
swrasterizer: add missing tc0_w and fragment lighting attribute processing
9 years ago
wwylele
19583dfd61
gl_rasterizer: implement procedural texture
9 years ago
wwylele
b010ff8174
pica/swrasterizer: implement procedural texture
9 years ago
wwylele
c033f16977
pica: use correct register value for shader bool_uniforms
variable value is not masked. the masked and combined register value should be used instead
9 years ago
wwylele
2a89d391c9
pica: correct bit field length for some registers
9 years ago
Jannik Vogel
f3efa5e031
Pica: Write GS registers
This adds the handlers for the geometry shader register writes which will call the functions from the previous commit to update registers for the GS.
9 years ago
Jannik Vogel
52c66441ab
Pica: Write shader registers in functions
The commit after this one adds GS register writes, so this moves the VS handlers into functions so they can be re-used and extended more easily.
9 years ago