Original Post
Hi peez, I've been used to OpenGl.. but I've decided to currently "force" myself to learn DirectX. Here's a post from my webiste's news page which should further help show my problem... "eXodus, my latest project is still in progress... I've implemented many things... it's only just as of last night, became capable of rendering a triangle to the screen, after all this time. The reason it's taken so long to get to this, such a primitive stage, is simply, the base/common code. It now contains multithreading(Trying to implement the Win32 C API to co-operate nicely with C++ took some doing!), A fancy logging system, error checking, audio playback/saving, 2D image loading/saving, 2D, 3D and 4D vector types, decompression/compression of any file to .zip format ( special thanks to the SCArchive and CStream class), Generic NN AI with genetic evolution, mutlithreaded Winsock network server/client classes, resource manager template classes and of course, my current problem/work... font/text rendering. Fonts in DirectX just don't seem as fast... I'm too used to OpenGL and it's compiled display lists. Text rendering was fast and easy with OpenGL, yet with DirectX, I seem to have to do some testing... With OpenGL it was a simple case of loading in a image/texture containing each of the 256 character images, then looking at each one, determining their width, then creating a pre-compiled display list, which is then used to render each characer withing the alphabet and (pre-compiled) translating by that character's width, before rendering the next quad with the next char's tex coords. However, with DirectX (I'm still learning, so I dunno), there appears to be no way to pre-compile a list of commands and render them efficiently. So I've been scratching my head thinking of a way as to how to implement this concept within DirectX. Now, so far, I can see two possibilities (both of which appear to be not in the least as eligent as GL's method), 1. Render each char's quad and performing a matrix multiplication between each one (By the width+char spacing) or.. 2. Render a char's vertex buffer, then, for the next char, alter it's vertex buffer (Dynamic) along the X axis (Of width of previous char width + spacing) , then re send that through AGP. Which would be faster? 16 floats on CPU multiplication (Matrix) or sending 28float through AGP?) I dunno, either way appears slow compared to OpenGL's display lists... Does DirectX have some kind of "Display list" thing? I've yet to find it, I great;y miss OpenGL's ease of use and speed. :( " I'm stuck :( Does DirectX have some kindof pre-compiled "display list", in which method can I display text, fast? Any ideas, thoughts, links, suggestions would be greatly appreciated. I've even tried giving up and trying the D3DXText class, but it's just too slow compared to, *gasp*, even my "own, aka NeHe's" code with OpenGL for font rendering. EDIT: This post's title should read "Fast text rendering within DirectX", stoopid keyboard :) (Or is that "stoopid brain", i dunno.. I'm not a bad workman! EDIT2: Fixed post title! This forum rulez!

