Entwickler-Ecke
Multimedia / Grafik - OpenGL: Fonts mit Texturen erstellen
Andreas Pfau - Sa 19.04.03 09:46
Titel: OpenGL: Fonts mit Texturen erstellen
Hallo,
ich arbeite grade an Textur-Fonts, d.h. ich kopiere alle Chars einer Schrift in eine Textur, die ich dann mit OpenGL auf den Screen rendere.
Schade: Die zwingen die FPS ganz schön in die Knie. Habt ihr erfahrungen mit Textur-Fonts? Wie macht ihr das? Ich mache es so:
- Ich mache für jedes Char ein Bitmap, 1-Bit graustufen
- Ich mache pro Char eine Displayliste, die Chars werden mittels glInterleavedArrays() gerendert, damit ich sie auch später noch skalieren kann. Außerdem ist ein glTranslatef in jeder Liste, um die Zeichen zu versetzen.
- Dann rednere ich mittels glCallLists() die einzelnen Liste, wie bei wglUseFont...()
Wie implementiert ihr das mit euren Textur-Fonts? Wie sieht das mit den FPS aus, wenn ihr viel Text rendert? Bei mir: ca. 300 Chars --> ca. 15-20% langsamer. Ist das normal?
M. Raab - Sa 19.04.03 09:54
Hallo,
die gleiche Erfahrung habe ich auch gemacht. Bei mir dauert es immer ca. 2-3s in denen die Scene steht und dass erst wird sie eingeblendet. Das ganze wird umso schlimmer, je mehr Zeichen das sind. Im OPenGL Forum hat mir jemand de Tipp gegegeben, den NVIDIA TReiber zu verwenden an Stelle des Grafikkarten TReibers des Herstellers. Das hat was gebracht, aber auch nicht enorm viel. Auch ein Wechsel der Karte bringt nix: ich habe ne Gforce4 TI 4600 - sollte eigentlich reichen.
Gruss
Markus
Andreas Pfau - Sa 19.04.03 10:21
Das laden geht flott (P4-1800, 768MB SDRAM), ich brauche nur ca. 100-200ms zum laden (es ist ein eigenes Dateiformat, 8-Bit-Bitmaps, alles mit RLE komprimiert).
Aber warum zwingen diese paar TrianglesStrips (jedes Char wird als Alpha-Textureirtes Triangles-Strip mit 4 Coords dargestellt) die FPS so in die knie? Ich habe eine GF3Ti200, das müsste doch wirklich genug sein für diese 600 Triangles, oder?
Ich meine, gut, ich könnte glBitmap() verwenden, evtl. wäre das schneller, aber dann kann ich's nicht mehr skalieren, oder? Das wäre ja dann genauso doof wie wglUseFont...(), das ist nicht sinn der Sache (Außerdem kann ich Schriften verwenden, die es nicht auf jedem System gibt).
M. Raab - So 20.04.03 09:33
Hallo,
also, skalieren mußt Du das trotzdem können.
Warum das so in die Knie geht, weiss ich auch nicht. Ich habe mir aber mal ne DEMO aus einem Forum runter gezogen. Falls Du Interesse hast, send ich Dir die zu.
Gruss
Markus
Andreas Pfau - So 20.04.03 10:09
Au ja, das wäre toll!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!