小编cat*_*ier的帖子

DirectX11 Swapchain和窗口失去全屏状态

我只是偶然发现了这个令人烦恼的行为,同时在示例程序上添加了全屏支持.

创建一个全屏窗口可以工作,但只要我在包含我的全屏窗口的输出上移动任何窗口(从另一个应用程序),它就会自动切换回窗口.

有没有办法防止这种行为(所以全屏窗口不会回到窗口)?

作为参考,这是一个小的独立示例(因此可以轻松复制问题).

如果这很有用,我也在Windows 8.1上运行.

我已经尝试更改WindowAssociationFlags和SwapChainFlags,两者都没有成功,与使用FlipSequential而不是Discard相同

SharpDX.DXGI.Factory2 factory = new SharpDX.DXGI.Factory2();
SharpDX.DXGI.Adapter adapter = factory.GetAdapter(0);

var renderForm1 = new RenderForm("Form 1");
factory.MakeWindowAssociation(renderForm1.Handle, SharpDX.DXGI.WindowAssociationFlags.IgnoreAll);

Device device = new Device(adapter, DeviceCreationFlags.BgraSupport);

SharpDX.DXGI.SwapChainDescription sd = new SharpDX.DXGI.SwapChainDescription()
{
    BufferCount = 2,
    ModeDescription = new SharpDX.DXGI.ModeDescription(0, 0, new SharpDX.DXGI.Rational(50, 1),  SharpDX.DXGI.Format.R8G8B8A8_UNorm),
    IsWindowed = true,
    OutputHandle = renderForm1.Handle,
    SampleDescription = new SharpDX.DXGI.SampleDescription(1,0),
    SwapEffect = SharpDX.DXGI.SwapEffect.Discard,
    Usage = SharpDX.DXGI.Usage.RenderTargetOutput,
    Flags = SharpDX.DXGI.SwapChainFlags.None
};

var swapChain1 = new SharpDX.DXGI.SwapChain(factory, device, sd);

renderForm1.Left = 1922; //Just hardcoded …
Run Code Online (Sandbox Code Playgroud)

directx-11 dxgi sharpdx

6
推荐指数
1
解决办法
4366
查看次数

非线性的Icosphere

我需要一个所有边长相同的icosphere.目前我从二十面体开始生成一个,然后线性插值每个三角形.我能找到的所有教程都使用相同的线性插值.有人后来建议只使用混合器中的icosphere,虽然也可以使用线性插值...

所以任何人都有一个很好的教程,如何建立一个icosphere,并确保所有方面都是平等的?(如果你知道一个可以制作它并将其导出为.obj或其他东西的程序,那也没关系.)

c# 3d graphics

1
推荐指数
1
解决办法
562
查看次数

反映op_implicit表

我目前正在寻找构建动态类型转换器,

例如,我可以很容易地做到:

public struct Tester
{
    public int Hello;

    public static implicit operator int(Tester d)
    {
        return d.Hello;
    }

    public static implicit operator float(Tester d)
    {
        return d.Hello;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后

typeof(Tester).GetMethods()
Run Code Online (Sandbox Code Playgroud)

将返回我隐式转换MethodInfo.

但是,如果我这样做:

typeof(int).GetMethods()
Run Code Online (Sandbox Code Playgroud)

它不会返回任何op_implicit

我已经看到你可以在这里看到这个表,但我想知道是否有可能从框架本身反映它.

请注意,这不是一个真正的阻塞问题,如果不可能,我会手动从表中添加转换器,但我显然希望动态构建(更干净,更不容易出错).

.net c# reflection

1
推荐指数
1
解决办法
1145
查看次数

标签 统计

c# ×2

.net ×1

3d ×1

directx-11 ×1

dxgi ×1

graphics ×1

reflection ×1

sharpdx ×1