Budeš se divit, ale žádnej "pořádnej" antialising opravdu není, nebo o něm aspoň nevím...
Jedinej BlenderGame engine s antialisingem jsem viděl ve web pluginu Burster
http://geta3d.com/Musíte ale stáhnou betaverzi ne tu stable.
Jadiná další možnost je použít na to 2D filter.... ale výsledek není dokonalý...
kdo by filter neznal jeho zdroj je tady:
jmenuje se to SSAA
je to odsud
http://blenderartists.org/forum/showthread.php?209574-Full-Screen-Anti-Aliasing-%28NFAA-DLAA-SSAA%29&highlight=ssaaKód:
uniform sampler2D bgl_RenderedTexture;
uniform float bgl_RenderedTextureWidth;
uniform float bgl_RenderedTextureHeight;
float width = bgl_RenderedTextureWidth; //texture width
float height = bgl_RenderedTextureHeight; //texture height
vec2 inverse_buffer_size = vec2(1.0/width, 1.0/height);
float lumRGB(vec3 v)
{ return dot(v, vec3(0.30, 0.59, 0.11)); }
void main()
{
vec2 UV = gl_TexCoord[0].st;
float w = 1.0; // filter width
float t = lumRGB(texture2D(bgl_RenderedTexture, UV + vec2(0.0, -1.0) * w * inverse_buffer_size).xyz),
l = lumRGB(texture2D(bgl_RenderedTexture, UV + vec2(-1.0, 0.0) * w * inverse_buffer_size).xyz),
r = lumRGB(texture2D(bgl_RenderedTexture, UV + vec2(1.0, 0.0) * w * inverse_buffer_size).xyz),
b = lumRGB(texture2D(bgl_RenderedTexture, UV + vec2(0.0, 1.0) * w * inverse_buffer_size).xyz);
vec2 n = vec2(-(t - b), r - l);
float nl = length(n);
if (nl < (1.0 / 16.0))
gl_FragColor = texture2D(bgl_RenderedTexture, UV);
else
{
n *= inverse_buffer_size / nl;
vec4 o = texture2D(bgl_RenderedTexture, UV),
t0 = texture2D(bgl_RenderedTexture, UV + n * 0.5) * 0.9,
t1 = texture2D(bgl_RenderedTexture, UV - n * 0.5) * 0.9,
t2 = texture2D(bgl_RenderedTexture, UV + n) * 0.75,
t3 = texture2D(bgl_RenderedTexture, UV - n) * 0.75;
gl_FragColor = (o + t0 + t1 + t2 + t3) / 4.3;
}
}