Textureの反転について
Number1 2014/06/24(Tue) 01:12
3DのTextureの描画はできたのですが、反転ができなくて困っています
ビルボードでもできなくて、Boxの張り付けたやつでもできませんでした!
もし、反転のやり方があれば教えてください!
どんなやり方でも構いません
お願いします
Reputeless 2014/06/24(Tue) 18:02
Geometry3D::CreateBox() で、頂点を一つ一つ指定できる MeshObject を作り、
テクスチャの X 座標をすべて反転してから Mesh を作ると、テクスチャが左右反転したボックスの Mesh ができます。
# include <Siv3D.hpp>
Mesh CreateMirroredBox(const Vec3& size)
{
MeshObject meshObject = Geometry3D::CreateBox(size);
for (auto& vertex : meshObject.vertices)
{
vertex.texcoord.x = 1.0f - vertex.texcoord.x;
//vertex.texcoord.y = 1.0f - vertex.texcoord.y;
}
return Mesh(meshObject);
}
void Main()
{
const Texture texture(L"Example/Earth.jpg", Texture::Mipped);
Graphics::SetLight(0, Light::Directional({ 0.4, 0.5, -0.8 }));
const Mesh box = CreateMirroredBox({ 5, 5, 5 });
while (System::Update())
{
Graphics::FreeCamera();
box.draw(texture);
}
}