AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DirectX9 - Texturbreite und -höhe
Thema durchsuchen
Ansicht
Themen-Optionen

DirectX9 - Texturbreite und -höhe

Ein Thema von XoRiC · begonnen am 23. Jan 2010 · letzter Beitrag vom 23. Jan 2010
 
XoRiC

Registriert seit: 20. Sep 2005
43 Beiträge
 
RAD-Studio 2009 Arc
 
#1

DirectX9 - Texturbreite und -höhe

  Alt 23. Jan 2010, 15:55
Hallo,

ich möchte gerne die Breite und Höhe meiner Texturen auslesen, komme mit dem Code aus den meisten Tutorials aber nicht ganz klar. Beim Laden meiner Texturen übergebe ich für Width und Height beide Male D3DX_DEFAULT. In der MSDN steht hier nämlich: If this value is zero or D3DX_DEFAULT, the dimensions are taken from the file. (Link).

Folgenden Code verwende ich für das Bestimmen der Breite und Höhe:

Delphi-Quellcode:
  var Texture: IDirect3DTexture9; // Hier wird eine Textur mit 184 x 119 Größe geladen
    Surface: IDirect3DSurface9;
    Desc: _D3DSURFACE_DESC;
Delphi-Quellcode:
    
    Texture.GetSurfaceLevel(0, Surface);
  Surface.GetDesc(Desc);
  Width := Desc.Width; // = 256
  Height := Desc.Height; // = 128
Hier ein kleines Beispielbild, was passiert:

http://img94.imageshack.us/img94/4004/bspd.jpg

Der gelbe Bereich ist die tatsächliche Texturgröße, wie ich sie mit Adobe Photoshop gespeichert hab (184 x 119).
Der schwarze Bereich repräsentiert die Dimensionen, die mein obiger Code liefert (256 x 128).
Offensichtlich hat das Surface wohl die nächsthöheren 2er-Potenzen für die Werte von Width und Height.
Ich würde aber gerne die tatsächliche Breite und Höhe abfragen.

Hat mir jemand einen Tipp, wie ich an diese Werte rankomme? Über das Surface scheint es so nicht zu gehen?

Vielen Dank für Tipps und Links,
Xoric
Angehängte Grafiken
Dateityp: jpg bsp_152.jpg (14,4 KB, 1x aufgerufen)
"Gods are fragile things; they may be killed by a whiff of science or a dose of common sense."
- Chapman Cohen
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz