1 registered members (TipmyPip),
18,038
guests, and 6
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
mip_levels
#323499
05/14/10 21:02
05/14/10 21:02
|
Joined: Oct 2004
Posts: 900 Lgh
rojart
OP
User
|
OP
User
Joined: Oct 2004
Posts: 900
Lgh
|
Laut Benutzerhandbuch unter Oberflächentexturen steht folgendes "4 Mipmap-Levels für TGA-, PCX-, und BMP-Texturen werden beim Kompilieren des Levels automatisch erstellt" und unter mip_levels "PCX, BMP und TGA-Textures von Modellen und Terrain können bis zu 4 Mipmaps enthalten. Ist mip_levels höher als 4, werden beim Laden zusätzliche Mipmaps generiert." Also, es bedeutet das ich theoretisch keine generierte Mipmaps Texturen wie DDS brauche, wird alles automatisch erzeugt und es sollte auch mit BMP, TGA, PCX Formaten funktionieren, was aber nicht der Fall ist. Hier noch ein Beispiel das es mit 10 generiertem DDS Mipmaps Texturen funktioniert, aber nicht mit BMP.
|
|
|
Re: mip_levels
[Re: jcl]
#323764
05/17/10 09:52
05/17/10 09:52
|
Joined: Oct 2004
Posts: 900 Lgh
rojart
OP
User
|
OP
User
Joined: Oct 2004
Posts: 900
Lgh
|
Ja ich weiss, DDS ist nur mit mip_levels default:4 begrentzt, es geht mir mehr um BMP Mipmaps.
Ich hatte nur als vergleich zwischen DDS und BMP Mipmaps benutzt.
Also, wie funktioniert nun mip_levels, nur für terrains und models und nicht für Blocks levels?
In meinem Beispiel auf der BMP Seite konnte schon das Flimmern gesehn werden.
Mit code habe ich keine probleme, nur wie gesagt dachte ich erst das mip_levels = 10; auch für blocks levels gedacht ist.
Last edited by rojart; 05/17/10 09:56.
|
|
|
Re: mip_levels
[Re: jcl]
#323849
05/17/10 20:04
05/17/10 20:04
|
Joined: Oct 2004
Posts: 900 Lgh
rojart
OP
User
|
OP
User
Joined: Oct 2004
Posts: 900
Lgh
|
Man kann das natürlich auch für Texturen im WAD oder WMB implementieren, aber die mip_levels Variable ist eigentlich nicht dafür gedacht, Levels nachträglich mit mehr Mipmaps zu versehen. Das klärt warum mip_levels so eingeschränkt funktioniert, danke für die Erklärung. Ich nutze meist DDS Texturen, daher hatte ich noch keine Probleme mit Mipmaps. Diese aussage hat mich ein bisschen irritiert "Ist mip_levels höher als 4, werden beim Laden zusätzliche Mipmaps generiert.", vielleicht sollte es ein wenig mit „es ist für BMP, TGA, oder PCX, aber nicht WAD oder WMB.“ kombiniert werden.
|
|
|
Re: mip_levels
[Re: rojart]
#323884
05/18/10 01:36
05/18/10 01:36
|
Joined: Oct 2004
Posts: 900 Lgh
rojart
OP
User
|
OP
User
Joined: Oct 2004
Posts: 900
Lgh
|
Ich habe noch d3d_mipmapping für Anisotropes Mipmapping getestet und hatte festgestellt das es immer ein gleiches Ergebnis wie mit Lineares Mipmapping (default) entsteht. In meinem Beispiel seht das gleich aus. Sollte aber ungefähr so aussehen.
#include <default.c>
function main(){
video_set(sys_metrics(0), sys_metrics(1), 32, 1);
if (d3d_caps & 2) { d3d_anisotropy = 16; d3d_mipmapping = 4;}
mip_levels = 10;
level_load("mipmaps.wmb");
vec_set(camera.x,vector(0,0,400));
vec_set(camera.pan,vector(0,-5,0));
}
|
|
|
Re: mip_levels
[Re: jcl]
#324019
05/19/10 01:12
05/19/10 01:12
|
Joined: Oct 2004
Posts: 900 Lgh
rojart
OP
User
|
OP
User
Joined: Oct 2004
Posts: 900
Lgh
|
Ja auf jeden Fall und sorry, habe es vergessen zu nennen das ich mit einer GeForce 9800 GTX unter Vista 32bit und mit Nvidia Control Panel bei folgender Einstellung getestet hatte. Es funktioniert nur dann wenn ich manuell unter Nvidia Control Panel einen wert auswähle (16x), nicht aber wenn Application-Controlled gewählt wird. Dann funktioniert Anisotropic filtering Global und ich habe keinen Einfluss auf die mip_levels etc. Noch etwas interessiert mich wie d3d_anisotropy funktioniert, laut Handbuch steht folgendes „1, 2, 3... Anisotropiefilter-Schritte“ Funktioniert es so, 1=2; 2=4; 3=8 und 4=16 oder wie es geschrieben ist 1,2,3 ... bis 16? Mit welcher Grafikkarte funktioniert denn bei Ihnen?
|
|
|
Re: mip_levels
[Re: jcl]
#324270
05/20/10 02:20
05/20/10 02:20
|
Joined: Oct 2004
Posts: 900 Lgh
rojart
OP
User
|
OP
User
Joined: Oct 2004
Posts: 900
Lgh
|
Der maximal mögliche Anisotropiegrad ist laut Dokumentation 7. Was passiert, wenn Sie "16" eingeben, weiss ich nicht. Die Anisotrope Filterung ist in den üblichen 2er-Potenzen oder schrittweise bis zu 16 fach einstellbar (Nvidia Control Panel oder viele Benchmark's und Spiele), daher wundere ich mich das es mit d3d_anisotropy nur bis 7 eine Wirkung geben sollte. Falls bei Ihnen die Anisotropie trotz richtiger Parameter nicht funktioniert, können Sie das betreffende Projekt gerne an den Support senden, damit wir uns das ansehen. Sie können das gleiche Beispiel Level ausprobieren, wie oben schon angegeben (vielleicht übersehen). Ich hatte noch einmal unter XP32bit & Vista32bit mit Folgender Einstellung getestet: Nvidia Control Panel: Anisotropic Filtering = Application-Controlled Lite-C: d3d_anisotropy = 7; d3d_mipmapping = 4; Leider immer das gleiche Ergebnis:  Als Vergleich das es überhaupt bei mir funktioniert, hier noch ein Test mit 3DMark06 und folgender Einstellung: Nvidia Control Panel: Anisotropic Filtering = Application-Controlled   
|
|
|
|