• Acolyte of the Butterfly
    Acolyte of the Butterfly
    Daytona675x
    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.jpg

    It 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 ]
  • »28.01.14 - 11:48
    Profile Visit Website