From: Ron J. <wi...@je...> - 2011-09-29 21:29:23
|
On Thursday 29 September 2011 14:32:54 Robbo wrote: > Hi, > > I am trying to familiarise myself with Flightgear's source code so that I > may try and contribute. I am currently looking at the 'groundradar' > instrument module and there is something within that is causing me some > confusion. > > Essentially, there is a 'texture' declared as follows: > static const char* default_texture_name = > "Aircraft/Instruments/Textures/od_groundradar.rgb"; > > This is then used by the following method: > void GroundRadar::createTexture(const char* texture_name) > > in the following way: > FGTextureManager::addTexture(texture_name, getTexture()); > > Now all is good at this point until I go and look for this file, which i > expected to find in data/Aircraft/Instruments/Textures/, however, this file > does not appear there, nor does it appear anywhere else on my filesystem > either. > > I thought, well maybe the code is not actually using this texture, since > its a 'default_texture', however, when i change the name to point to > something else which also does not exist, then, the once black background > becomes white! > > So I am assuming that this file MUST be somewhere, but I have no idea where > it is, can anyone assist me with this? > > Thanks > > Robbo Definitely not my area, but... The hint for me was the call 'createTexture()' opposed to load or get Texture(). I believe we are doing a render-to-texture thing. If you grep for Aircraft/Instruments/Textures/od_groundradar.rgb in fgdata/Aircraft you get many hits like: ATC/radar-screen.xml: <path>Aircraft/Instruments/Textures/od_groundradar.rgb</path> So, if I understand things correctly, the models are asking for a texture by name, which is created by GroundRadar::createTexture() instead of being loaded from disk. Ron |