Tag Info

New answers tagged

1

You don't specify what rendering method you want to use. Standard rasterisation of a 3D mesh? Or do you have a volume representation of the model and your renderer uses that directly? If you render a volume, check this: http://http.developer.nvidia.com/GPUGems/gpugems_ch39.html especially 39.2. The effect in the picture you provide is mainly subsurface ...


0

Technically, that's a gap, not an overlap. An overlap would not result in the background colour. So, two of the vertices that are supposed to be in an identical position, are not. If you can't combine the meshes, then make sure that the values are exactly the same (all bits equal). That means being very careful of what values you store in you vertex ...


-1

While the root of the problem seems to be graphic drivers (which you can easily check by downloading new drivers) it wont hurt to fix overlapping vertices, which would also keep your buffer sizes down. (I don't have any experience in DirectX but I do in OpenGL so I'll use OGL terminology) At some point during vertex generation before you store a generated ...


0

To rule out the FBX factor from your problem, first replace the FBX loader function with a function that constructs a cube. You can at-least get your dx9 code working. I think the problem is in the render code, but maybe someone else can chip in and find the bug for you. My D3D9 is a bit rusty.


1

SetResourceMinLOD : For Direct3D 11, this functionality is extended from the sampler to the entire resource. Therefore, the application can specify the highest-resolution mip level of a resource that is available for access. This restricts the set of mip levels that are required to be resident in GPU memory, thereby saving memory.


0

FBX supports a whole range of texture properties per surface material: diffuse, specular, etc.. The property names are stored in static char* fields in SDK classs FbxSurfaceMaterial. You can get a pointer to such a material by iterating across all materials of an FbxNode using functions GetMaterialCount() and GetMaterial(index). To load a texture, you first ...


2

Although you don't strictly need to resize your depth/stencil buffer, you will need to do so if you want to use it in conjunction with the back buffer render target. This is because the depth/stencil buffer must match the size of the render target. If you are doing deferred rendering, or some other technique that doesn't require a depth buffer bound when ...


4

Absolutely, But not as simple as taking a return value of a normal function. First I assume your question isn't about sharing variables between two shader stages (vertex, fragment..etc) but actually between two shader (programs). Shaders are part of the rendering pipeline, every input/output should pass through the rendering pipeline and its memory is ...


2

What you essentially want is the depth in camera coordinates, but relative to model, not camera. the easiest way to achieve that is to calculate the position of the origin of a model coordinate system in camera coordinates. ... vec4 cs_position = glModelViewMatrix * gl_Vertex; vec4 origin_position = glModelViewMatrix * vec4(0,0,0,1); distToOrigin = ...


1

calculate a bounding volume of the object (sphere, convex hull, box - depends on your speed/accuracy needs), this needs to be done only once - at initalization while rendering, for each object: transform camera (origin, direction) to object space project bounding volume on camera direction axis and subtract camera origin projection to retrieve min/max ...


1

The easiest thing would be to create a gradient in Photoshop/Paint.NET/GIMP/whatever you use and blend that with your tile(s). If you want a more procedural approach, then take a look at Color.Lerp. A gradient with that method is simple. The first color parameter is the light shade, the second is the final dark shade and the progress is the row/column of ...


1

Yes, this is a fine approach - it will be orders of magnitude faster than creating a primitive per data point. Assuming single-channel data, you should use whatever DXGI_FORMAT (or equivalent in OGL) maps to your source data, and convert in the pixel shader. There are native types for 8, 16, and 32-bit integers, as well as 32-bit floats. You should also ...


1

There is a way to force a game to use WARP without disabling Display Driver, Just install the direct X SDK. http://www.microsoft.com/en-us/download/details.aspx?id=6812 Go to C:/windows/system32 Run dxcpl.exe In "Scope" click "Edit list" Add The Path To Your Application Go to your game / application directory And Launch It.


2

Try doing this:- try { Robot bot = new Robot(); bot.keyPress(KeyEvent.VK_F6); bot.delay(50); bot.keyRelease(KeyEvent.VK_F6); } catch (AWTException ex) { Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex); }


1

When using the standard Sample method, the automatic MIP level selection is actually quite complex. Assuming standard tri-linear sampling of a 2D texture, two MIP levels are actually sampled. The hardware determines which ones by looking at the texture coordinate arguments of four adjacent pixel shader invocations (referred to as a "quad"), and calculates ...


0

You can use SampleLevel to manually select the mip level. The 3rd parameter specifies the mip level. Documentation here.


0

The smallest single float supported by DirectX 11.x is DXGI_FORMAT_R16_FLOAT which requires Feature Level 10.0 or better hardware. The smallest single float supported by Feature Level 9.x is DXGI_FORMAT_R32_FLOAT. If you can require Feature Level 10.0+ or better hardware, a better choice might be to use DXGI_FORMAT_R11G11B10_FLOAT or ...


0

the way to create your Quaternion rotations matrices (I assume from euler angles) look funny, I would expect you use unit vectors of each axis rather than axis XMMATRIX rotateQX = XMMatrixRotationQuaternion(MathHelper::XMConvertToQuaternion(XMFLOAT3(1, 0, 0), radianRotation.x)); XMMATRIX rotateQY = ...


0

On this line: XMStoreFloat4x4(&mWorld, scaling*rotateQX*rotateQY*rotateQZ*translate); does changing the order to: XMStoreFloat4x4(&mWorld, translate*rotateQX*rotateQY*rotateQZ*scaling); make a difference? If you meant to rotate about the origin then translate outwards then you need to be careful with your ordering, though I'm making assumptions ...



Top 50 recent answers are included