Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 13 Nov 2007
Offline Last Active Yesterday, 08:35 AM

#5315644 Team makeup

Posted by on 18 October 2016 - 02:17 AM

To my experience from a small (~15 people) and a medium (~200 people) developer body size, the ratio of artists : programmers was always around 3 : 1.

As Josh Petrie mentioned, it's impossible for one person to manage more than 7-10 people, so there have to be at least some lead roles + managers (producers). Even for 15 people you'll have to have at least one or two managerial positions. I, myself, am a programmer, so this is a bottom-up perspective :)

#5291386 Non-trivial union

Posted by on 13 May 2016 - 03:57 AM



unique_ptr::reset() calls the destructor and bang, you're dead, because its internal members are most probably crap.


If you alias an ArrayInfo over the same bytes as ObjectInfo, it can't end well.


unique_ptr and int size is implementation defined, your String is who knows what (pointer + int or an int + pointer or possibly anything). How do you imagine it should work? What are you trying to achieve? The unique_ptr won't be in a healthy state for you to call reset.


Furthermore, the standard says it's only legal to read from the most recently written union member, although actual compilers are less strict.


What you suggest might work, just I wouldn't call a "String" dtor on an instance of a ObjectInfo class :)


But what's the point?

#5260125 Can't Link Shader Program

Posted by on 02 November 2015 - 09:31 AM

This should give you an answer: http://stackoverflow.com/questions/5366416/in-opengl-es-2-0-glsl-where-do-you-need-precision-specifiers


The default precision in fragment and vertex shaders isn't the same smile.png Also be aware that you aren't using GLSL but "OpenGL ES Shading Language" (GLSL ES, if you want). Not the same.

#5143487 Is SuperSampling really a bad choice when going deferred ?

Posted by on 31 March 2014 - 09:09 AM

You could do a custom adaptive SSAO as HW MSAA does. That is render into 2x2, 3x3 (ha!) or 4x4 bigger target (and perhaps a 1x1 target, too, for faster look-up? or just a custom "down-sampled" version?) and before doing any lighting, just identify blocks that need detailed lighting/shading... Performance won't be as good as with HW MSAA, of course :(

#5132575 Port HLSL to x86 Assembly

Posted by on 19 February 2014 - 03:31 AM

DX11 WARP runs very well (and slow but that's not the problem, right?), however that's not quite just what OP asked, I guess..

#5129317 Power of normal mapping and texture formats?

Posted by on 06 February 2014 - 09:06 AM

DXT (DX9) / BC (DX10+) are block compression schemes. They take 4x4 blocks and instead of representing them with 4x4=16 RGB(A) color values, they represent them with only 2 degraded colors (5:6:5-bit instead of 8:8:8-bit) and 16 interpolation coordinates (each 3-bits). DXT1/BC1, for example, will save you always exactly 7/8 of memory, compared to raw R8G8B8A8_UNORM. The cost is quality, obviously.


The details vary: http://msdn.microsoft.com/en-us/library/windows/desktop/hh308955%28v=vs.85%29.aspx


For example for your normal maps, you might want to use non-compressed formats. But it all depends on how it looks, it has to first look bad enough to reach for a higher quality solution.

#5128389 RWStructuredBuffer read and write ?

Posted by on 03 February 2014 - 05:16 AM

And as of DX 11.1 (or DX 11.2?) you can also bind UAVs to ALL other shader stages (vertex, hull, ...). When I was looking into this, however, I found a great lack of examples of how to do this exactly. I mean examples of C++ and HLSL showing both SRVs, RTVs and UAVs of all kinds together in a pixel shader. But I guess you'll figure out according to the debug layer error messages :)

#5125330 SwapChain resize questions

Posted by on 21 January 2014 - 07:49 AM

No, you misunderstand. IDXGISwapChain::ResizeBuffers only resizes the swapchain. It knows nothing about your depth/stencil buffers. It is DXGI, not D3D. You can have dozens of various depth/stencil target buffers and dozens of color targets but you only have one swap chain (with two buffers, here). OMSetRenderTargets sets a combination for subsequent D3D11 rendering commands and you can (and eventually will) call it with different combinations during a frame. Do you understand, what it does?


So, you must also resize (meaning release and recreate) all other textures you're using as rendering targets with the swap chain buffers. That is, resize your depth/stencil, too! smile.png

#5124998 SwapChain resize questions

Posted by on 20 January 2014 - 03:19 AM

Looks like you don't set a depth-buffer (depth-stencil view, the final parameter of OMSetRenderTargets) anymore. Provided that you show us all.

#5118140 Problem mapping a DXGI_FORMAT_BC3_UNORM texture

Posted by on 19 December 2013 - 09:50 AM

First of all, turn on the debug layer (D3D11_CREATE_DEVICE_DEBUG) and see the output for a more specific error!!!


EDIT: I'm getting:

D3D11 ERROR: ID3D11Device::CreateTexture2D: A D3D11_USAGE_DYNAMIC Resource must have MipLevels equal to 1. [ STATE_CREATION ERROR #102: CREATETEXTURE2D_INVALIDMIPLEVELS]

So, you cannot have 2+ mipmap levels for a dynamic resource. Use a default resource for that and update individual mipmaps with UdpateResource, I'd say.

#5117345 Is GPU-to-CPU data transfer a performance bottle-neck?

Posted by on 16 December 2013 - 10:19 AM

And do you need to use doubles? Computing your v expression with doubles is slower than with floats (the double division will be really slow) and also converting it to float takes some time.


Maybe you could sort on GPU and keep the sorted array on GPU and use it as an indirect parameter to your rendering, perhaps as an index buffer. That way, you wouldn't have to stall at all.

#5116673 Why "double declare" classes? (Lack of better terminology)

Posted by on 13 December 2013 - 07:29 AM

Frob, this was the single most funny thing I read here in weeks :D ROFL

#5114062 Its all about DirectX and OpenGL?

Posted by on 03 December 2013 - 09:52 AM

The "western" console uses an enhanced version of their known graphics API and the "oriental" one uses its own completely new API, nobody can disclose more, I'm afraid:D Dunno about the other "oriental" console. However the concepts are really the same, also the shading languages are extremely similar, so you can wrap it and port it quite easily.

#5106915 Which programmer is responsible?

Posted by on 04 November 2013 - 08:05 AM

Yes, the company's main working languages (e.g. C++ plus Lua, or a similar combo, don't start the flamewar :)). Valid for all programmers.

#4981650 Why are most games not using hardware tessellation?

Posted by on 19 September 2012 - 06:05 AM

It isn't completely straightforward to implement if you have to account for "non-standard" meshes - e.g. non-quads, too many adjacent faces/edges, etc. (then you need a lot of pre-computation). Otherwise from that, I don't understand its absence either but Ashaman has a point. Unfortunately :-(