I’m sorry if this question was answered before, but I can’t seem to find it if it has.
On a couple of posts I read about dds as a format for textures in the game engine. For some reason though, my blender doesn’t seem to be able to read it. Just get a black square in the texture preview. Do I need to install something else first? Does niftools have anything to do with it? The more I search, the more I become confused…
Blender isn’t able to render .dds images, but it is possible to assign them as a texture. If you don’t absoultely need them in that format you can always use something like Gimp to save it as a different filetype. There’s probably an easier way to do that though, I don’t know much about texture files.
I did try to change a few settings and I got it somewhat working. Apparently what happens is that if I use dxt1 compression, nothing shows up at all with dtx 3 and 5, I do get my image. The confusio is that blender automatically thinks that the image will have an alpha channel because dtx 3 and 5 leave a place for that. The alpha is empty (black) even if you didn’t make a channel for it. The default for blender in the map image tab is “UseAlpha”, so you just get a black image.
Now that I ha
the last thing I wanted to add is that even though I use a very simple mesh, (just a plane) and not an extremely high res picture (1024 by 1024), I only get 60fps when I press ‘P’. The whole point was of course to get better performance…
the engine is locked to 60 fps.
DDS “works”, it can read some of the compression types but it gets converted to blendertexture, losing it’s benefits. A PNG image should be as big and fast in memory, dds will of course still be smaller on the disk.
There a lot of limiting factors in terms of the 60 FPS “wall.” I’ll go over these, but note that 60FPS is PLENTY for a game, and the majority of people can’t tell any differences above that (even if you think that you can).
First is Vsync. This is usually on by default, and basically limits your FPS to your computer’s refresh rate. This is usually something like 60Hertz, but sometimes is 75 or higher. You can force this off through your 3d card’s driver’s settings… my Nvidia card I can right click the desktop, choose “Nvidia Control Panel Settings”, and force Vsync off.
A note on Vsync - this is literally the fastest your monitor can display anything. Turning off Vsync will NOT result in a smoother game, as your monitor can still only update that many times a second. Turning off Vsync can sometimes result in graphical artifacts (“tearing”).
Second limiting factor in Blender is the “FPS” option in the World settings. You can change this, but this is the number of game frames per second as well… as in a game set to 120fps will run at 120fps, but will basically run twice as much logic every second as 60fps.
Third limiting factor is the “Enable All Frames” option in the game menu. Turning this off will stop locking the framerate to the FPS of the game… but it also results in inconsistant results. I get around 400fps with just a normal plane, and it fluctuates between 400 and 380 a lot. This can sometimes confuse the game engine, but there should still be only as many logic tics per second as indicated by the FPS option… but as I said, it’s inconsistant.
Hope that helps you figure out performance stuff. I’d say the best way to see how high that number can go is by disabling Vsync and choosing the “Enable all frames” option.
I admit it was an over simplification, good that you wrote an elaborate explanation. I took the simpler way since it wasn’t the original question, I just wanted to say that the 60 fps didn’t mean dds did nothing.
I agree that I don’t see a difference between 60fps or 200, I just used it as reference for how hard my computer had to work. I must have usually had “enable all frames” on without noticing and therefore have different results at times. Silly,
There is no advantage then to using DDS in blender? Or there someway to enable it?
If a PNG, a TARGA, a JPEG or a DDS all weigh the same on memory, how do you calculate that size then, since they will all have a different size on the harddrive… Is there a calculation by image size? Are they stored in the ram or in the vram? do 4 512 by 512 images weigh the same as one 1024 by 1024 image?