Ahoj, nedávno jsem potřeboval do c# nahrát model(.x/.fbx), programově ho natočit a následně převést do 2D textury, což se mi částečně povedlo
jde o to, že když vykresluju normálně přímo na monitor, tak výsledek je toto
http://www.2i.cz/1d2dd0fa29
ale pokud změním render target a uloženou texturu vykreslím později, tak výsledek je toto
různě po fórech jsem našel několi postupů, co s tím, ale žádný nezabral.. tak nevím, jestli tam nemrším něco jinýho
kdyby jste se mohli kouknout na zdroják a říct, co vás znepokojuje, byl bych vám vděčný
public void Draw(SpriteBatch sprite)
{
//veci z for
renderTarget.GraphicsDevice.SamplerStates[0] = SamplerState.LinearWrap;
renderTarget.GraphicsDevice.BlendState = BlendState.Opaque;
renderTarget.GraphicsDevice.DepthStencilState = DepthStencilState.Default;
graphics.SetRenderTarget(renderTarget);
graphics.Clear(Color.CornflowerBlue);
// Copy any parent transforms.
Matrix[] transforms = new Matrix[myModel.Bones.Count];
myModel.CopyAbsoluteBoneTransformsTo(transforms);
// Draw the model. A model can have multiple meshes, so loop.
foreach (ModelMesh mesh in myModel.Meshes)
{
// This is where the mesh orientation is set, as well
// as our camera and projection.
foreach (BasicEffect effect in mesh.Effects)
{
effect.World = transforms[mesh.ParentBone.Index] *
Matrix.CreateRotationY(modelRotation)
* Matrix.CreateTranslation(modelPosition);
effect.View = Matrix.CreateLookAt(cameraPosition,
Vector3.Zero, Vector3.Up);
effect.Projection = Matrix.CreatePerspectiveFieldOfView(
MathHelper.ToRadians(45.0f), aspectRatio,
1.0f, 10000.0f);
}
// Draw the mesh, using the effects set above.
mesh.Draw();
}
graphics.SetRenderTarget(null);
shadowMap = (Texture2D)renderTarget;
sprite.Begin();
sprite.Draw(shadowMap,new Rectangle(0,0,CMenu.rozlW,CMenu.rozlH),Color.White);
sprite.End();
}