Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Can I create multiple Device Contexts?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
9 replies to this topic

#1 SIC Games   Members   -  Reputation: 744

Like
0Likes
Like

Posted 20 August 2012 - 12:37 PM

Hey everyone. Inside the editor - I have the Level Scene and in a new windows form I have a Material Editor. The Level editor initialized the DX Device and Device Context the attaches to the Level Editor. My question would be if I create a DX device attach it to the the Material Editor Window - would this be a performance issue?

For instance, UDK you have a level editor, then when you open a material editor - you have a model showing what material you are currently editing. Same thing goes with animation editor etc....

Thanks,

Paul

Game Engine's WIP Videos - http://www.youtube.com/sicgames88

SIC Games @ GitHub - https://github.com/SICGames?tab=repositories

Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX


Sponsor:

#2 Radikalizm   Crossbones+   -  Reputation: 3446

Like
1Likes
Like

Posted 20 August 2012 - 12:43 PM

There is absolutely no need to create a second device for this, you just create 2 independent scenes which use the same render device/render context for rendering.
As you're building a level editor I'll assume you already have a decent engine as a back-end, so it should be absolutely no problem for you to use this approach.

I gets all your texture budgets!


#3 SIC Games   Members   -  Reputation: 744

Like
0Likes
Like

Posted 20 August 2012 - 12:57 PM

Thanks chief! It's been 3 months that I've been doing DirectX11. Additionally, there's been a 11 years gap of any programming - so I'm refreshing alot of it. The engine is currenly being build along side of the editor. When you say Scene's - what does this mean? Like where I clear the back buffer and depth buffer and begin rendering? The Scene you referred just confused me.

Game Engine's WIP Videos - http://www.youtube.com/sicgames88

SIC Games @ GitHub - https://github.com/SICGames?tab=repositories

Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX


#4 SIC Games   Members   -  Reputation: 744

Like
0Likes
Like

Posted 20 August 2012 - 01:16 PM

So what you mean is basically when I present the model to the Device and Device context, correcto?

Game Engine's WIP Videos - http://www.youtube.com/sicgames88

SIC Games @ GitHub - https://github.com/SICGames?tab=repositories

Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX


#5 Radikalizm   Crossbones+   -  Reputation: 3446

Like
1Likes
Like

Posted 20 August 2012 - 01:35 PM

If you're building an engine you're going to have to make a very clear separation between low-level operations like manipulating your render device, the rendering pipeline(s) you build on top of that render device, and the scene(s) which feeds data to the pipeline(s). Note that these are all decoupled components.

The render device would be responsible for directly manipulating your low-level graphics API (DirectX 11 in your case) and would be able to directly set render states, bind resources, do draw calls, etc.

The pipeline would be responsible for sending structured commands to your render device, these would be things like 'draw a point light' or 'render a solid textured mesh', etc.

The scene is composed of entities which make up your environment. The level you're building with your level editor is a scene, but the environment in which you apply a material to an object in your material editor will be a scene too, albeit a separate one from the level you're designing. The data in your scene entities related to rendering would be sent through your pipeline so your render device can properly render them.

If these concepts are new or vague to you, you should probably reconsider your plan of building a level editor and an engine and work on something a lot more basic right now. These are definitely not implement-while-you-learn subjects

Edited by Radikalizm, 20 August 2012 - 01:39 PM.

I gets all your texture budgets!


#6 SIC Games   Members   -  Reputation: 744

Like
0Likes
Like

Posted 20 August 2012 - 01:47 PM

Thanks chief! You helped clear some stuff for me.

Game Engine's WIP Videos - http://www.youtube.com/sicgames88

SIC Games @ GitHub - https://github.com/SICGames?tab=repositories

Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX


#7 SIC Games   Members   -  Reputation: 744

Like
0Likes
Like

Posted 20 August 2012 - 02:01 PM

I was trying to implemend a real time editor what would allow me for now to see how the game would look and feel. You know man? I understand that DX11 uses the render pipeline like - Geometry Shader, Input Assembly and others I can't remember now! Because the managed assmebly of my DLL file attaches itself to a windows form control. That was the part I was getting confused on. The way I have it it attaches the output window to the form1's panel control.

Game Engine's WIP Videos - http://www.youtube.com/sicgames88

SIC Games @ GitHub - https://github.com/SICGames?tab=repositories

Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX


#8 SIC Games   Members   -  Reputation: 744

Like
0Likes
Like

Posted 20 August 2012 - 02:05 PM

Because in a Windows API the game engine just needs to attach itself to one window handle. What I was thinking was well, the game engine all has to do is read the map file created from the editor gather all the entites then do the game logic side from there. Whereas the editor - I can create the scene and how the entites should be textured and what not. I can't leave the output.window to be NULL when I initiaze the swapchain. So that sums up what I was confused about. I was replicating the engine so it can be a real time editor and allow more producitivey.

Game Engine's WIP Videos - http://www.youtube.com/sicgames88

SIC Games @ GitHub - https://github.com/SICGames?tab=repositories

Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX


#9 SIC Games   Members   -  Reputation: 744

Like
0Likes
Like

Posted 20 August 2012 - 04:15 PM

Since the depth buffer and the backbuffer are used to create a scene - this is what I would have to use - correct?

Game Engine's WIP Videos - http://www.youtube.com/sicgames88

SIC Games @ GitHub - https://github.com/SICGames?tab=repositories

Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX


#10 SIC Games   Members   -  Reputation: 744

Like
0Likes
Like

Posted 20 August 2012 - 04:25 PM

Never mind bro, I think I got this - I am going to make one Managed Assembly for Editor, another managed assembly for different type of editors then I'll be straight. Thus, because the Material Editor has different functions than the level editor. I understand what you told me, though! Thanks for the reply.

Game Engine's WIP Videos - http://www.youtube.com/sicgames88

SIC Games @ GitHub - https://github.com/SICGames?tab=repositories

Simple D2D1 Font Wrapper for D3D11 - https://github.com/SICGames/D2DFontX





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS