Acolyte of the Butterfly
Posts: 109 from 2013/12/5
During developing AceOfHearts for MorphOS I ran into another TinyGL issue (or most likely a driver issue).
Looks like modifications of the GL_TEXTURE matrix are not supported by every system. On my Radeon9000 based setup all works well, but on Yasu's Radeon 9600 for example any modification of the texture-matrix is apparently ignored.
The effect looks like this:
texture_matrix_bug.jpgIt should be obvious what SHOULD happen: the texture-matrix is set up to scale the s/t coordinates of the respective textures to cover the target area completely.
You may use the game's
demo version to test that.
As a workaround I added a tooltype, HQ_TEXTURES=1.
If this is set, then texture-matrix scaling is used and it may result in those buggy effects.
If this tooltype is 0 or commented out, then the textures are internally scaled up to be POT and the identity texture matrix is used, therefore it will work everywhere at a loss of quality.
The code fragment is simple:
Code:
glMatrixMode(GL_TEXTURE);
glLoadMatrixf(uv_factor_matrix.m);
where the matrix consists out of 16 floats forming a simple scaling matrix.
As being said: it works well as expected on my Radeon9000 (and on other systems too, like Windows).
EDIT: typo, my system is equipped with a Radeon9000, not 9200
[ Editiert durch Daytona675x 29.01.2014 - 05:57 ]