Discussion in 'Bob's Track Builder' started by Fullbrook16, Sep 27, 2013.

  1. Fullbrook16


    Help would be much appreciated!

    I have exported my track and all is well,
    i open GTR2 and as soon as i start loading the race on that particular track, the game crashes.

    Help please?!
  2. Kennett Ylitalo

    Kennett Ylitalo

    Check that all your textures are in powers of two: 32x32,64x64,128x256,2048x512 etc...

    You need some sort of image editor, photoshop, GIMP, etc. and manually check all textures that they are sized correctly.

    But sooner or later you need to convert all your textures to DDS format for performance reasons (it's a compressed image format that can be be uncompressed by the GPU speeding up the process by dozens of times.) The good thing about the DDS format is that it won't accept other image sizes than powers of two so all textures are always in the right size. Plus you'll get mipmaps at the same time, speeding up the performance by ten folds..

    Google those tearms: DDS or DXT compression, mipmap, DDS convert. If you have photoshop you can download tools for it to work with DDS.

    Why powers of two? If you convert 512 to binary, it's pretty simple to divide it in half, it's just one bit roll to the right (in CPU/GPU architecture, this is one the fastest instructions in the known world) So scaling an image to half size is extremely fast.

    Mipmaps are basically halved down versions of your texture. They are in levels, each half the size than the last, all of them are packed inside one texture file. Hwne the object that has that texture is far away, the GPU can pick up the closest sized texture to improve performance. There's even optimization happening when you save to DDS that improves textures that are far away and occupy small screen space to look better.. So it's a win-win-win..

    Even if you have no clue of the inner workings of the game itself, having image sizes in numbers that are easily halved, efficiently handled in binary and mipmaps that are also halved it must ring some bell that these are connected and should be implemented...