Download
  Frequently asked questions

  Quick guide before you start to use TitaniumGL.


  Read this, before you start asking questions!
Overview
Compatibility
Gallery
Contact
Optimize
Features
License
Readme
Donate
 

Q: Where to put the DLL file?
A: Search the EXE file of the OpenGL based game or program. Put the OpenGL32.DLL file there.


Q: The 64 or 32 bit version should be used on a 64 bit system?
A: If the application is 32 bit, then the 32 bit version of the dll has to be used. If the application is 64 bit, the 64 bit version should be used.


Q: Why the 64 bit version called opengl32.dll?
A: There are some questions when the universe can not provide an answer for you.


Q: Why there is a separate Win9x version?
A: The Win9x version is targeted for Win98-era 3D cards, supporting Direct3D 3, 5, 6, or 7 cards. This version doesn't requires DirectX 9, and as the name suggests, it works under Windows 98. This build should be also used, if someone wishes to use old Win98 era graphics card under Windows XP (such as S3 Virge, Trio3D, SiS 6326, and so on). If the graphics card has proper driver support for Windows XP (most graphics cards from 1999 and so on), then its recommended to use Windows XP and the normal Windows version of TitaniumGL, because it will give far better performance, stability and user experience.


Q: TitaniumGL consumes a lot of memory
A: Its recommended to have as much of RAM as you can to run TitaniumGL.


Q: When i attempt to run a program, it says: OpenGL 2 or 3.3 required to run the program.
A: TitaniumGL is designed with classic OpenGL (1.x) in mind. It supports some newer extensions from the OpenGL 2 era, but it doesn't supports vertex or pixel shaders. Some game developers refuse to create backwards compatibility in their code for OpenGL 1.x implementations for ideological reasons, or from pure lazyness. Such games will not work.


Q: There is a 64 and a 32 bit version available of a game. Which one is better for TitaniumGL?
I recommend to use the 64 bit version if you can, because it will perform and behave better than the 32 bit version.


Q: The speed of a given game with TitaniumGL is anemic
A: Some newer version of games (such as Super Tuxkart) are too vertex-heavy. TitaniumGL does the vertex light calculations (and sometimes, transformation calculations too) with CPU. If your CPU is too weak, try using older version of games if available, as those usually have less vertices.


Q: What is the performance of TitaniumGL compared to official drivers?
A: If everything goes well, and using a relatively modern dx9 era GPU, then TitaniumGL can reach about half of the performance of your manufacturer's OpenGL driver. If not (and to be fair thats the more common case) the performance is near to a ~GeForce4 MX440.


Q: What is the closest video card that resembles the feature set of TitaniumGL?
A: The feature set of TitaniumGL resembles a GeForce4 MX440 with drivers from 2002 or 2003, with some extra modern features (like NPOT and some OpenGL 3 era VBO functions), and without some other features (bump maps).


Q: The new version of TitaniumGL seems very different from the earlyer (2008-2015) versions. Whats going on?
A: TitaniumGL was rewritten almost from zero, and the new TitaniumGL branch got released in 2023. The state tracker is the approximately the same (but got refactored heavily), so you will get the same compatibility and graphics features, but everything else got rewritten. The new TitaniumGL and the old TitaniumGL is basically a different product, only the name is the same. The new TitaniumGL version is typically 3-4 times faster than the old one, due to a new command batching system, and due to the decreased API call count to DirectX, which allows more efficient threading and less CPU limit. This was inevitable to run the OpenGL games of today, as they use far more objects and larger polygon count than their decade old versions.


Q: How to verify if TitaniumGL uses hardware acceleration?
A: If TitaniumGL uses hardware rendering, the GL_RENDERER string will be TitaniumGL (3D acceleration), or the GL_RENDERER string will contain the name of the graphics card (if TitaniumGL can detect it). If TitaniumGL uses software rendering, the GL_RENDERER string will simple be TitaniumGL, or TitaniumGL/x Cores.


Q: TitaniumGL is slower in hardware accelerated mode than in software mode. Whats going on?
A: Modern CPU-s are strong enough to outperform low-end graphics cards in 3D rendering. For example, if you have a modern multicore i7 or Ryzen CPU, its recommended to use a 8800GT or Radeon HD4850 graphics card to be able to benefit from hardware acceleration.


Q: TitaniumGL hardware rendering is very slow on slower CPUs. How to fix that?
A: TitaniumGL was heavily optimized and rewritten multiple times to minimize API overhead when interacting with D3D. Its not possible to reach certain levels of performance due to the differences in D3D and OpenGL vertex processing and pipelining system, which fundamentally differs, and vertex conversions need to be done on the CPU on each and every draw call. Other OpenGL to Direct3D wrapper try to simply redirect OpenGL functions to equivalent D3D function calls diretly. When compared to other wrappers, TitaniumGL works differently, and has a different design internally. TitaniumGL basically emulates an OpenGL capable graphics card from the top to bottom. It is processing everything on its own, implements the entire OpenGL functionality of a graphics card, and does the required calculations. Due to this design, TitaniumGL avoids most of the bugs and issues of bugous graphics cards and driver implementations, and can offer the same feature set on every GPU. On the other hand, this adds a lot of extra work on the CPU, and has far bigger CPU overhead, even if TitaniumGL is optimized as much as its possible. TitaniumGL will use aggressive threading and command batching (on multicore CPUs) to gain speed. This means TitaniumGL will be always slower compared to a native OpenGL implementation of the manufacturer. TitaniumGL will still be fast enough to process about 20k polygons on an old single core 1 GHz CPU at playable frame rates, or approximately 1 million polygons at playable frame rates on a modern i7 or Ryzen CPU.


Q: It seems TitaniumGL does software rendering only, when hardware rendering is available.
A: Check the following:
-Ensure you have hardware 3D rendering available and working in DXDIAG.
-Sometimes, Windows will not automatically download and install a graphics driver. In such cases, ensure you have installed the graphics drivers of the manufacturer.
-Try to set the desktop depth to 16 bit. If you have an old graphics card, 3D acceleration in 24 or 32 bit could be unsupported.
-Some graphics cards require the desktop to be in 640x480 (16 bit) to have 3D acceleration available.
-Some graphics cards have 24 bit support, but they can only do hardware 3D acceleration in 16 bit - set the desktop to 16 bit!
-Some graphics cards have full 24 bit support, but might can only do this in full screen mode (such as SiS 6326). Be sure to have the desktop in 16 bit for such cards.
-If your graphics card have 4MB or 6MB RAM, set the desktop to be in 640x480 (16 bit).
-If you have old graphics card, you are maybe unable to run multiple applications at once with 3D acceleration. Ensure the old application exited, or reboot the computer.
-If you have the desktop in 24 bit, try to set it to 32 bit or 16 bit
-Some DX5 era cards will require the Windows 9x version to be used even in Windows XP, because the newer backend is not compatible with them EVEN if they have XP drivers.
-If TitaniumGL fails to initialize hardware 3D acceleration once, it will stay in software rendering mode until you restart the application.
-If you have your desktop in 256 colors or below, hardware 3D acceleration will not work.
-If you have a 2 MByte graphics card with 3D acceleration capabilities, you must upgrade the VRAM to 4MB.
-If you have a 4 MByte graphics card with 3D acceleration capabilities, its recommended to upgrade the VRAM to 6MB or 8MB when using 800x600 (if the card can have memory expansions).



Q: Textures are blurry, and very pixelated in the Win98 (DX7) version.
A: In the DX7 version, the texture are downsampled to 256x256 and limited to 12 bit color information. The graphics cards where the DirectX7 method has to be used, have typically 4 MByte memory, and they are limited to 16 bit textures. Therefore, the Win98 (DX7) backend targets these.


Q: Why TitaniumGL has large CPU overhead in hardware accelerated mode on my Pentium 90 system from 1995?
A: As previousmy mentioned, TitaniumGL wont just simply translating OpenGL functions to DirectX functions, because TitaniumGL implements everything on its own. TitaniumGL basically emulates an entire graphics card. This is being designed like this to circumvent the bugs of graphics card drivers. Without this, proper OpenGL implementations wouldn't be possible. Most of the features in OpenGL have no close DirectX equivalents, thats why old OpenGL wrappers only support a very minimalistic subset, and they are hardwired to support only one or two games in total. TitaniumGL supports basically the entire OpenGL 1.4 API, and its more or less compatible with every OpenGL based product using OpenGL 1.4 or below. But this has a toll on the CPU limit. This means a lot of extra CPU overhead, and this is why on a Pentium 133 or on similar prehistoric artifacts, TitaniumGL will not be able to deliver usable frame rates. To have good frame rates, a CPU running above 1 GHz is recommended.


Q: How many CPU cores TitaniumGL will support?
A: TitaniumGL supports multithreading, and depending on the game or software, it will effectively scale up to 2-8 cores.


Q: How much memory TitaniumGL will use?
A: With single core CPUs, TitaniumGL will not consume more than any other OpenGL driver. However, in multicore environments, TitaniumGL can consume a few 100 MByte extra memory due to extensive batching, depending on the workload.


Q: A game developer can put TitaniumGL into a game?
A: Yes. Previously, TitaniumGL had to be licensed for such purposes. Now TitaniumGL has a BSD-type licensing, game developers don't need permission or a contract. TitaniumGL is free of charge and can be used without my permission. TitaniumGL will not alter the license of your software.


-