mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	Merge pull request #2729 from yuriks/quaternion-fix
OpenGL: Improve accuracy of quaternion interpolation
This commit is contained in:
		
						commit
						3df85a103a
					
				| @ -535,8 +535,8 @@ static void WriteLighting(std::string& out, const PicaShaderConfig& config) { | ||||
|     } | ||||
| 
 | ||||
|     // Rotate the surface-local normal by the interpolated normal quaternion to convert it to
 | ||||
|     // eyespace
 | ||||
|     out += "vec3 normal = normalize(quaternion_rotate(normquat, surface_normal));\n"; | ||||
|     // eyespace.
 | ||||
|     out += "vec3 normal = quaternion_rotate(normalize(normquat), surface_normal);\n"; | ||||
| 
 | ||||
|     // Gets the index into the specified lookup table for specular lighting
 | ||||
|     auto GetLutIndex = [&lighting](unsigned light_num, LightingRegs::LightingLutInput input, | ||||
| @ -1002,7 +1002,9 @@ uniform sampler1D proctex_diff_lut; | ||||
| // Rotate the vector v by the quaternion q
 | ||||
| vec3 quaternion_rotate(vec4 q, vec3 v) { | ||||
|     return v + 2.0 * cross(q.xyz, cross(q.xyz, v) + q.w * v); | ||||
| })"; | ||||
| } | ||||
| 
 | ||||
| )"; | ||||
| 
 | ||||
|     if (config.state.proctex.enable) | ||||
|         AppendProcTexSampler(out, config); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Yuri Kunde Schlesner
						Yuri Kunde Schlesner