{"push_id":894304597,"size":8,"distinct_size":8,"ref":"refs/heads/master","head":"316fa5a63a11dc8816b561a0d1c3c3d3f1ed71f4","before":"7fb6ee049d7cba2a49f91c16f522c183d8e90ac4","commits":[{"sha":"42d346378fecb7f250304806cf7e04e81effa86f","author":{"email":"ce389fd2fa887d610219cb85dea6dc9451973e74@gmail.com","name":"Ian Munsie"},"message":"Dreamfall Chapters: Change lighting fix to use yet another technique\n\nSince we need to adjust world space coordinates for the reflection fix\nand since Helix Mod only has 2 matrix copy slots and 3 constant register\ncopy slots let's rethink the way we fix lighting shaders in Unity so we\ncan use a common set of matrices between these two.\n\nWe have been applying a view-space correction in the Unity lighting\nshaders, but we could just as easily apply a world-space correction\nafter the _CameraToWorld matrix multiplication, which we can do using\nthe inverted MVP and _ObjectToWorld matrices copied from elsewhere. We\ncan then use these same matrices for the reflection fix.\n\nThe one exception where we still need to apply a view-space correction\nis in the main lighting vertex shader, but we only need to apply this\ncorrection when drawing point or spot lights - and in those cases the\nshader has valid MV and MVP matrices and can use them following the\nsame code as my previous Unity 5 technique to correct them, so we don't\nneed to use up any of Helix Mod's precious copy slots for that.\n\nThis patch adds a --fix-unity-lighting-ps-world variant to shadertool to\napply this new technique to the lighting pixel shaders, runs said script\non the lighting shaders, re-works the lighting vertex shader for the new\ntechnique, and adds a bunch of shaders which we can use to copy the\nnecessary matrices.","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/3d-fixes/commits/42d346378fecb7f250304806cf7e04e81effa86f"},{"sha":"8e6261781a5f2ea8dfd55451f0c29556ed438586","author":{"email":"ce389fd2fa887d610219cb85dea6dc9451973e74@gmail.com","name":"Ian Munsie"},"message":"Dreamfall Chapters: Remove directional lighting shades as Z Buffer source\n\nIt seems that the directional lighting shaders use a _ZbufferParams that\nis not consistent with the rest of the game (I wonder if this might\nexplain the Montague's Mount quirk). I'm not entirely sure how these are\nsupposed to be work since they are used legitimately in the gmae (maybe\nx & y are valid, while z and w are not?), but drop them as a depth\nbuffer source regardless.","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/3d-fixes/commits/8e6261781a5f2ea8dfd55451f0c29556ed438586"},{"sha":"3db7af9b400638c92a6d0a2c5102861d1488922e","author":{"email":"ce389fd2fa887d610219cb85dea6dc9451973e74@gmail.com","name":"Ian Munsie"},"message":"Dreamfall Chapters: Blacklist SHADOWCASTERs as matrix sources\n\nNarrowed down another shader that was breaking the lighting and\nreflection fixes - this one was marked as a shadow caster, which\nsuggests that it would be rendered from the perspective of a light\nsource instead of the camera, which would mean it's matrices are useless\nto us.\n\nBlacklist all shadow casters as sources of the transformation matrices.","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/3d-fixes/commits/3db7af9b400638c92a6d0a2c5102861d1488922e"},{"sha":"43213e5d1e5b1c5bb7f6d501b6e80feab358c738","author":{"email":"ce389fd2fa887d610219cb85dea6dc9451973e74@gmail.com","name":"Ian Munsie"},"message":"Dreamfall Chapters: Replace existing reflection fixes with new pattern\n\nThis is to prove out the new reflection fix approach before I attempt to\napply it globally. All shaders now use the inverted MVP and\n_Object2World matrices copied in with Helix Mod, eliminating the need to\npass anything from the vertex shader to the pixel shader.\n\nshadertool --fix-unity-reflection now performs this approach - the\nvertex & pixel shader variants are still implemented (for now) under\ndifferent options.","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/3d-fixes/commits/43213e5d1e5b1c5bb7f6d501b6e80feab358c738"},{"sha":"4461c891e68a455d645f329f99fb6106c5ccaa3d","author":{"email":"ce389fd2fa887d610219cb85dea6dc9451973e74@gmail.com","name":"Ian Munsie"},"message":"Dreamfall Chapters: Correct _WorldSpaceCameraPos by script\n\nPhew! That sure is a lot of shaders the autofix picked up. Doing some\nspot checks I can't see any breakages as a result of this and I can see\nmore fixed reflections.\n\nI call that a win.","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/3d-fixes/commits/4461c891e68a455d645f329f99fb6106c5ccaa3d"},{"sha":"2566c11d48c77cd6ebcbc1cafaded6facaf5de6b","author":{"email":"ce389fd2fa887d610219cb85dea6dc9451973e74@gmail.com","name":"Ian Munsie"},"message":"Dreamfall Chapters: Apply _WorldSpaceCameraPos fix to shaders with halo fix\n\nDoing these separately to the last batch to make it easier to see if the\ntool has done the right thing when combining the two fixes. Looks good -\ndeclarations are being shared. Could potentially make the script share\nmore temp regs and the texldl, but that's a minor issue.\n\nRemoved sections to get the MVP and _Object2World matrices that were not\ngenerated by the script - they were fine, but there would have been some\noverlap since this was re-run on shaders already in the ShaderOverride\nfolder, and we probably don't need the extras that don't themselves\ninclude the fix.","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/3d-fixes/commits/2566c11d48c77cd6ebcbc1cafaded6facaf5de6b"},{"sha":"8fd2f399fbc6ce1a58b2902e1e694bde2374bc8b","author":{"email":"ce389fd2fa887d610219cb85dea6dc9451973e74@gmail.com","name":"Ian Munsie"},"message":"Dreamfall Chapters: Fix Seraph Kavanah sign\n\nThis is the same shader I fixed previously to work around the\ninconsistent driver heuristics.\n\nThere were two problems with the workaround - firstly, it would try to\nnormalise the depth to equal convergence when the sign was behind the\ncamera would cause it to stretch over the landscape, which looked...\ninteresting to say the least.\n\nSecondly, if we perform this normalisation while 3D is disabled it would\nnormalise it to W = convergence = 0, which would then cause it to\ndisappear.\n\nMake the normalisation dependent on both of these not being the case.\n\nThe sign still appears to move slightly with the adjustment, and I'm not\nsure why (floating point error perhaps?). It's not really noticeable but\nwould be nice if I could find a way to avoid it.","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/3d-fixes/commits/8fd2f399fbc6ce1a58b2902e1e694bde2374bc8b"},{"sha":"316fa5a63a11dc8816b561a0d1c3c3d3f1ed71f4","author":{"email":"ce389fd2fa887d610219cb85dea6dc9451973e74@gmail.com","name":"Ian Munsie"},"message":"Dreamfall Chapters: Fix a shader missing stereo declarations\n\nOops >_<","distinct":true,"url":"https://api.github.com/repos/DarkStarSword/3d-fixes/commits/316fa5a63a11dc8816b561a0d1c3c3d3f1ed71f4"}]}