direct3d

Is it possible to use OpenGL ES code with a WPF application via a D3DImage and ANGLE?

馋奶兔 提交于 2019-12-02 21:08:09
Summary (TL:DR version) Ultimately our goal is to be able to utilize OpenGL ES code in a WPF application natively (i.e. not SharpGL, etc.) and without Airspace or driver issues, possible using Google's ANGLE project. Background: One of the things I like about OpenGL over DirectX is its cross-platform capability. It has excellent support on both OS X and Linux, and also on Android and iOS via ES. However, on Windows, using it is marred with driver issues, or worse, a lot of cards simply don't implement it properly. Enter Google's ANGLE project , or Almost-Native-Graphics-Layer-Engine. ANGLE is

OpenGL still better than Direct3D for non-games? [closed]

半世苍凉 提交于 2019-12-02 20:27:20
The standard model has been that OpenGL is for professional apps (CAD) and Direct3D is for games. With the debacle of openGL 3.0, is openGl still the natural choice for technical 3D apps (cad/GIS)? Are there scenegraph libraries for Direct3D? (Of course Direct3D is windows only.) D3D makes you pay the Microsoft "strategy tax." That is, D3D serves two masters. One is giving you features and performance. The other is to ensure lock-in to other MS products and the Windows platform generally. This has some consequences for you: A D3D app won't run on anything but Windows (including Xbox). Maybe

Copy Texture to Texture

巧了我就是萌 提交于 2019-12-02 20:02:54
问题 I've done 2 programs to use Shared Resources, running on SlimDX & DirectX10. One program will display the shared texture on a 3D mesh. The 2nd program will load an image as texture. So far I need to pass the shared handled everytime the texture is update from a new image. Now, is there a way that I can initialize a fixed size shared texture (Texture2D), then everytime when I load a new image, all I need to do is load it as texture, then copy it to the existing texture. This way the shared

Why Direct3D application performs better in full screen mode?

天大地大妈咪最大 提交于 2019-12-02 18:07:14
The performance of a Direct3D application seems to be significantly better in full screen mode compared to windowed mode. What are the technical reasons behind this? I guess it has something to do with the fact that a full screen application can gain exclusive control for the display. But why the application cannot gain exclusive control for part of the screen (i.e. window) and have the same performance benefits? Here are the cliff notes on how things work underneath. Monitor screen always needs to be associated with so-called primary surface to be able to display anything, i.e. videocard can

Setting up the constant buffer using SlimDX

点点圈 提交于 2019-12-02 09:49:42
问题 I've been following the Microsoft Direct3D11 tutorials but using C# and SlimDX. I'm trying to set the constant buffer but am not sure how to either create or set it. I'm simply trying to set three matrices (world, view and projection) using a constant buffer but I'm struggling at every stage, creation, data input and passing it to the shader. The HLSL on MSDN (which I've essentially copied) is: cbuffer ConstantBuffer : register( b0 ) { matrix World; matrix View; matrix Projection; } The C++

Assimp and D3D model loading: Mesh not being displayed in D3D

限于喜欢 提交于 2019-12-02 09:01:44
问题 I would like to load models into D3D using Assimp. I would like to understand more how Assimp handles indices as I am having trouble getting it to work with obj models in a form i understand. For instance, for an obj model with faces as int/int/int, as I iterate through the number of faces: for (unsigned int x = 0 ; x < paiMesh->mNumFaces ; ++x) { const aiFace& Face = paiMesh->mFaces[x]; assert(Face.mNumIndices == 3); for (unsigned int k = 0; k< nidx;k++)//triangle list { i1 = Face.mIndices[k

Copy Texture to Texture

守給你的承諾、 提交于 2019-12-02 08:29:18
I've done 2 programs to use Shared Resources, running on SlimDX & DirectX10. One program will display the shared texture on a 3D mesh. The 2nd program will load an image as texture. So far I need to pass the shared handled everytime the texture is update from a new image. Now, is there a way that I can initialize a fixed size shared texture (Texture2D), then everytime when I load a new image, all I need to do is load it as texture, then copy it to the existing texture. This way the shared handle would not change, and I can save some overhead of passing the shared handle. For DirectX9, I do

Setting up the constant buffer using SlimDX

我的未来我决定 提交于 2019-12-02 07:27:55
I've been following the Microsoft Direct3D11 tutorials but using C# and SlimDX. I'm trying to set the constant buffer but am not sure how to either create or set it. I'm simply trying to set three matrices (world, view and projection) using a constant buffer but I'm struggling at every stage, creation, data input and passing it to the shader. The HLSL on MSDN (which I've essentially copied) is: cbuffer ConstantBuffer : register( b0 ) { matrix World; matrix View; matrix Projection; } The C++ code on MSDN is: ID3D11Buffer* g_pConstantBuffer = NULL; XMMATRIX g_World; XMMATRIX g_View; XMMATRIX g

D3DERR_INVALIDCALL: Invalid call (-2005530516)

六月ゝ 毕业季﹏ 提交于 2019-12-02 07:02:39
I seem to be getting an error when testing on my WinXP(SP3) PC. The error is below but I don't get it when using my Win7 laptop. D3DERR_INVALIDCALL: Invalid call (-2005530516) at SlimDX.Result.Throw[T](Object dataKey, Object dataValue) at SlimDX.Result.Record[T](Int32 hr, Boolean failed, Object dataKey, Object dataValue) at SlimDX.Direct3D9.Device..ctor(Direct3D direct3D, Int32 adapter, DeviceType deviceType, IntPtr controlHandle, CreateFlags createFlags, PresentParameters[] presentParameters) The code that is causes the error is: using (var d3d = new Direct3D()) { using (var tmpDevice = new

Assimp and D3D model loading: Mesh not being displayed in D3D

霸气de小男生 提交于 2019-12-02 06:49:43
I would like to load models into D3D using Assimp. I would like to understand more how Assimp handles indices as I am having trouble getting it to work with obj models in a form i understand. For instance, for an obj model with faces as int/int/int, as I iterate through the number of faces: for (unsigned int x = 0 ; x < paiMesh->mNumFaces ; ++x) { const aiFace& Face = paiMesh->mFaces[x]; assert(Face.mNumIndices == 3); for (unsigned int k = 0; k< nidx;k++)//triangle list { i1 = Face.mIndices[k]; Indices.push_back(i1); } } i notice that my Indices vector seems to only contain numbers in an