gpt4 book ai didi

java - 是否可以仅使用图形将纹理映射到类似于 OpenGL 的四边形?

转载 作者:行者123 更新时间:2023-12-01 09:53:17 26 4
gpt4 key购买 nike

我正在创建一个天际线游戏作为一个有趣的副项目,当我开始对建筑物的墙壁进行纹理处理时遇到了麻烦,我目前只是在该区域绘制一个多边形,但我想知道是否有一种方法可以对其进行纹理处理,使得纹理像这样:

Square

可以这样渲染:

Square mapped to parallelogram

这是游戏的图像,我想要纹理的部分是建筑物的灰色墙壁。

Gameplay image

我知道我可以通过创建一个单独的渲染系统来逐像素绘制它来做到这一点,但我试图避免这种情况。

我的具体问题是 Java 的 Graphics 中是否存在可以实现此目的的方法或类似的方法。

最佳答案

如果你想执行剪切变换AffineTransformation是您的解决方案。

AffineTransform at;

double shx, shy;
at.shear(shx, shy);

绘制图像时使用 AffineTransformation - 遗憾的是,您必须使用 Graphics2D 来实现该目的并不明显

@Override
public void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D)g;
BufferedImage img = ...;
AffineTransform at = ...;
g2d.drawImage(img, at, null);//null-param is the ImageObserver
....
}

关于java - 是否可以仅使用图形将纹理映射到类似于 OpenGL 的四边形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37452369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com