*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;