Delphi - GLScene - изменить размер спрайта в соответствии с изображением

Я использую спрайт для отображения текстуры изображения, но ширина и высота спрайта выражены в единицах трехмерного мира, и мне нужно автоматически отображать загруженную текстуру изображения без растяжения.

Я знаю, как загрузить текстуру. Мне нужен только способ автоматического изменения размера спрайта в соответствии с загруженным изображением.

инструменты, используемые Delphi / GLScene

1 ответ

Решение

Используйте TGLHUDSprite, он будет напрямую отображаться и позиционироваться в 2D в единицах экрана.

TGLSprite предназначен для тех случаев, когда вам нужен спрайт в 3D, вы можете расположить его в единицах экрана, но для этого вам придется выполнить математические расчеты (см. Исходный код TGLHUDSprite и мошенника для подсказок по этой математике).

Другие вопросы по тегам