У меня проблема с полупрозрачностью при использовании sharpdx для winrt. Прежде всего, мой код:
На Mainpage.xaml я добавил swapchainPanel следующим образом:
<Grid>
<SwapChainPanel x:Name="Panel" />
</Grid>
// There is nothing else...
Я использовал тот же класс, что и образец из github, для рендеринга 3D-моделей:
// Initialisation part
graphicsDeviceManager = new GraphicsDeviceManager(this);
graphicsDeviceManager.PreferredGraphicsProfile = new FeatureLevel[] { FeatureLevel.Level_11_0, };
graphicsDeviceManager.DepthBufferShaderResource = true;
Все еще в том же классе при загрузке содержимого:
models = new List<Model>();
foreach (var modelName in new[] {"dude"})
{
model = Content.Load<Model>(modelName);
BasicEffect.EnableDefaultLighting(model, true);
models.Add(model);
}
model = models[0];
// Instantiate a SpriteBatch
spriteBatch = ToDisposeContent(new SpriteBatch(GraphicsDevice));
base.LoadContent();
И, наконец, прорисовка:
// Clears the screen with the Color.CornflowerBlue
GraphicsDevice.Clear(Color.CornflowerBlue);
model.Draw(GraphicsDevice, world, view, projection);
base.Draw(gameTime);
Все рендерится нормально, но это то, что я получил для текстурированной модели (немного сложно заметить полупрозрачность на скриншоте ...)
Вот что у меня с моделью без текстуры ...
Думаю, это результат рендеринга в альфа-режиме. Я пытался установить BlendState, но получаю некоторые исключения, так как я не использую правильные параметры.