none
Windows SDKのCubeサンプルは裏表逆なので、どうすれば? RRS feed

  • 質問

  •  

    Windows SDKのサンプルにある次のファイル

       GraphicsMM_Animation\animation_gallery\CSharp\App.xaml

    で定義されている次の6つのメッシュでは、

        <MeshGeometry3D x:Key="CubeSide01"
          TriangleIndices="0,1,2 3,4,5 "
          Normals="-1,0,0 -1,0,0 -1,0,0 -1,0,0 -1,0,0 -1,0,0 "
          TextureCoordinates="0,1 0,0 1,0 1,0 1,1 0,1 "
          Positions="-0.5,0.5,-0.5 -0.5,-0.5,-0.5 -0.5,-0.5,0.5 -0.5,-0.5,0.5 -0.5,0.5,0.5 -0.5,0.5,-0.5 " />

      ....CubeSide06....

     

    レンダリングした画像が裏表逆になってます。

     

    これを簡単に逆転させるか、簡単に書き直すことはできるのでしょうか?

    2008年9月13日 10:54

回答

  • TextureCoordinatesを変更してください。 たとえば以下のように。

    Helpを参照して各頂点におけるTextureCoordinatesを思い通りできます。

    一般にはUVマッピングというそうですが。

        <MeshGeometry3D x:Key="CubeSide01"
          TriangleIndices="0,1,2 3,4,5 "
          Normals="-1,0,0 -1,0,0 -1,0,0 -1,0,0 -1,0,0 -1,0,0 "
          TextureCoordinates="1,1 1,0 0,0 0,0 0,1 1,1 "
          Positions="-0.5,0.5,-0.5 -0.5,-0.5,-0.5 -0.5,-0.5,0.5 -0.5,-0.5,0.5 -0.5,0.5,0.5 -0.5,0.5,-0.5 " />

     

    2008年9月16日 18:40
  • えムナウさん

    ありがとうございます。

     

    できました。この場合、奇数番目を反転させました。

     

    表題からちょっと外れますが、応用して、Cubeの面にビデオを貼り付けることもできるので感動です。

     

     

    2008年9月17日 11:51

すべての返信

  • TextureCoordinatesを変更してください。 たとえば以下のように。

    Helpを参照して各頂点におけるTextureCoordinatesを思い通りできます。

    一般にはUVマッピングというそうですが。

        <MeshGeometry3D x:Key="CubeSide01"
          TriangleIndices="0,1,2 3,4,5 "
          Normals="-1,0,0 -1,0,0 -1,0,0 -1,0,0 -1,0,0 -1,0,0 "
          TextureCoordinates="1,1 1,0 0,0 0,0 0,1 1,1 "
          Positions="-0.5,0.5,-0.5 -0.5,-0.5,-0.5 -0.5,-0.5,0.5 -0.5,-0.5,0.5 -0.5,0.5,0.5 -0.5,0.5,-0.5 " />

     

    2008年9月16日 18:40
  • えムナウさん

    ありがとうございます。

     

    できました。この場合、奇数番目を反転させました。

     

    表題からちょっと外れますが、応用して、Cubeの面にビデオを貼り付けることもできるので感動です。

     

     

    2008年9月17日 11:51