Einzelnen Beitrag anzeigen

blackfin
(Gast)

n/a Beiträge
 
#20

AW: [Andorra] Verschwindende Lücken zwischen Sprites

  Alt 9. Aug 2010, 12:20
*wuselwusel*

Aaaalso....irgendwie liegt das an der Konstanten "AdTextureOffset", die von Andorra in der DX3DMain.pas plötzlich beim Initialisieren auf 0.5 statt 0.0 gesetzt wird und deswegen die Texturen "unsauber" skaliert / positioniert werden (in TAdCustomImage.SetSrcRegion)

Ich hab den Grund für das 0.5 Offset noch nicht gefunden, allerdings funktioniert es bei mir, wenn ich
AdTextureOffset := 0 ; nach
SpriteEngine.Zoom := 1.0; setze, also:

Delphi-Quellcode:
procedure TEditorForm.ResizeAndorra(Sender: TObject);
{ Wird ausgelöst, wenn die größe des Fensters verändert wird. Dann muss Andorra
neu initialisiert werden, da sonst die Darstellung verzerrt ist }

begin
  if Draw.Initialized then
  begin
    Draw.Setup2DScene;
    Draw.Restore;
    SpriteEngine.Zoom := 1.0;
    AdTextureOffset := 0 ; // <----------- HIER!
    Center := Point(ClientOrigin.X +
      (Width div 2), ClientOrigin.Y +
      (Height div 2));
  end;
end;
Ich glaube, für die Erklärung muss Igel sich zu Wort melden, warum in der DX3DMain das Texturen-Offset auf 0,5 gesetzt wird, statt auf 0.0, ich bin auch nicht so DirectX-firm :
Delphi-Quellcode:
function TDXApplication.GetTextureOffset: single;
begin
  result := 0.5;
end;

Geändert von blackfin ( 9. Aug 2010 um 12:52 Uhr)
  Mit Zitat antworten Zitat