Fix No Borders Bug
On Linux with certain older AMD GPUs the empire borders are not visible. This mod contains a fix for the pixel shader that draws the borders.
I have only tested this mod on Arch Linux system with a Radeon HD 6870. I cannot guarantee it will work for any other GPU. Please post your results in the comments below.
I cannot pretend to understand why it works. I got to it by hours of trial and error. If someone has an insight into why it works, please comment below. For some reason the original shader gets rejected by the GPU. I simply rewrote the function AddAreaToID() with a macro to force the compiler to inline it.
#define AddAreaToID(vID, vArea, vTotals, vIDs)
vTotals[0] += vArea * ( 1 – saturate( abs( vIDs[0] – vID ) * 1000 ) );
vTotals[1] += vArea * ( 1 – saturate( abs( vIDs[1] – vID ) * 1000 ) );
vTotals[2] += vArea * ( 1 – saturate( abs( vIDs[2] – vID ) * 1000 ) );
vTotals[3] += vArea * ( 1 – saturate( abs( vIDs[3] – vID ) * 1000 ) );
vTotals[4] += vArea * ( 1 – saturate( abs( vIDs[4] – vID ) * 1000 ) );
vTotals[5] += vArea * ( 1 – saturate( abs( vIDs[5] – vID ) * 1000 ) );
vTotals[6] += vArea * ( 1 – saturate( abs( vIDs[6] – vID ) * 1000 ) );
vTotals[7] += vArea * ( 1 – saturate( abs( vIDs[7] – vID ) * 1000 ) );
vTotals[8] += vArea * ( 1 – saturate( abs( vIDs[8] – vID ) * 1000 ) );
Revisions:
Old revisions of this mod are available below. Click the link to download.