Tag Info

New answers tagged

2

There are some really good answers here, so just to supplement them. A major driving force behind software rendering is capability. This was touched on in one of the answers, but I'm going to make an opposing point: software rendering can actually be more capable than hardware rendering, not less. With hardware you're generally limited to the capabilities ...


0

I think this is a really good question. What I can imagine is: VRAM is more limited than general RAM memory. In case of GPU rendering - every texture is more of an issue. You can store in average about 4 to 8 times more data in RAM than VRAM. Of course this scenario assumes that there is no system that is responsible for freeing/pushing unused/required ...


1

Certainly you could just wrap your D3D usage up into a namespace containing free functions and that would be fine. It's not wrong, per se, but it does have limitations. D3D is inherently object-based, and those objects store state. By hiding it behind a free-function façade you'd actually remove flexibility (you could create more D3D devices but you can't ...


1

Game engines often provide an interface for their renderer. This hides specific implementations for Direct3D/OpenGL/GCM render code. The main advantage to this is that you can have classes/wrappers for each graphics API but you only ever use the same renderer interface regardless of the target platform. Classes are generally used for their polymorphism ...


2

As you clearly already know what GPU rendering is... let me answer what you seem to be asking. Traditionally, hardware rendering has carried a stigma of being very complex. This has in large part been due to the design of the application programming interfaces (APIs) which have not been well-geared to concealing complexity; that is, the learning curve has ...


4

Hardware or GPU rendering is, as you guessed using the graphical processing unit (aka Video Card) to render an image. The opposite is software rendering where the CPU is used. Software rendering is usually used as a fallback when there is no (suitable) GPU available. However since the GPU is orders of magnitude faster software renders are almost never ...


3

When using an Effect in the Toolkit (which is similar to the XNA Effect or the native D3D11 Effect API), you are not suppose to access directly the constant buffer but instead setting parameters directly on the effect: _effect.Parameters["slideX"].SetValue(0.0f); _effect.Parameters["sinPi075"].SetValue((float)Math.Sin(Math.PI * 0.75)); ...


0

After investingating the source of the SharpDX.Toolkit I found out that all contant buffers are cleared if they are not dirty. So, the solution was to create a constant buffer on the effect, and make it dirty, see code below. compiledEffect = (new EffectCompiler()).CompileFromFile( @"Content\MiniTri - Copy.fx" ...


1

I can't read all of the source code (dang firewalls), but a display list is something that you compile once, then execute many times. What you're doing is telling OpenGL to regenerate an optimized execution list containing such and such triangle data every frame. That isn't what display lists were* used for -- they originally were more for things like old ...


4

Video cards without hardware T&L are dinosaurs. Seriously, there haven't been any new cards without hardware T&L since about 2000. Forget about them, just use hardware vertex processing and assume it's supported - unless you specifically need to support 14-year-old cards for some reason.


4

For texture spaces, in Direct3D (0, 0) is top-left, in OpenGL (0, 0) is bottom-left. Therefore the v-coordinate will be upside down in one of these APIs. However, I wouldn't recommend negating the v-coordinate as this will only work if you're using a sampler with wrapping. You can fix the v-coordinate as follows: v = 1.0f - v;


2

There are billion ways to do this. But here is my approach : To do this i would go with a more "particle" system approach. Rendering a line is quite easy with a quad, you just stretch the four vertex in the direction it´s traveling and then have a maximum length that it never can be longer than. the best way with this is that you can heayily optimize this ...


1

If you're using win32 then you can handle mouse and keyboard events using RawInput. Info can be found on MSDN. You would handle windows messages for raw input devices in the window process. For example, if handling the input for a keyboard and mouse, register those devices in the WM_CREATE case of your application window process like so: switch( uMsg ){ ...


0

If you only care about the artistic effect of the think, you might as well just clear the screen to black and set the scissor testing by hand, before drawing the cinematic frame. See the docs: D3D9, D3D11


1

The black bars are nothing more than the cleared back buffer. The video is simply being centered and played between these two bars. This effect is known as Letterboxing. The only thing you need to do in DirectX is simply render the video accordingly (vertically aligned). That being said, a lot of the time these bars are shown because aspect ratio of the ...


0

A vertex is not just a spatial position, but a whole bag of attributes. A position p is a point in some spatial space or a homogeneous coordinate. A texcoord tc is a point in texture space. A normal n is a bivector, and so on. If you represented a vertex with multiple indices, a vertex V_k could be represented by a tuple of indices {p_a, tc_b, n_c}. In a ...



Top 50 recent answers are included