• Content count

  • Joined

  • Last visited

Community Reputation

123 Neutral

About bobobobo

  • Rank
  1. OpenGL GL_POINTS Distance Attenuation

    Another way to do this is just use normalized device coordinates, // vertex shader: gl_Position = modelViewProjectionMatrix * position ; vec3 ndc = / gl_Position.w ; // perspective divide. float zDist = 1.0-ndc.z ; // 1 is close (right up in your face,) // 0 is far (at the far plane) gl_PointSize = 50.0*zDist ; // between 0 and 50 now. psColor = vec4( color, 1 ) ; = vec3( zDist, zDist, zDist ) ; [img][/img] I'm not sure this is exactly what point distance attenuation did in 1.0, but it works pretty well
  2. D3DX10SaveTextureToFile

    Actually DXGI_FORMAT_B8G8R8A8_UNORM does not save (generates quoted error), the format that works without fail for me is DXGI_FORMAT_R8G8B8A8_UNORM.
  3. I am bobobobo. This is my profile.
  4. [quote name='MJP' timestamp='1317171592' post='4866655'] You can only read STAGING resources on the CPU. So you should load your cubemap as STAGING, do your manipulations, and then using the staging data to initialize an IMMUTABLE resource. [/quote] Yes. These are the params that worked: [b] // to load it here you actually have to load it AGAIN as a STAGING texture.[/b] [b] ID3D11Texture2D* stageCubeTex ;[/b] [b] [/b] [b] D3DX11_IMAGE_LOAD_INFO loadInfo ;[/b] [b] loadInfo.MiscFlags = D3D11_RESOURCE_MISC_FLAG::D3D11_RESOURCE_MISC_TEXTURECUBE ;[/b] [b] loadInfo.Usage = D3D11_USAGE::D3D11_USAGE_STAGING;[/b] [b] loadInfo.CpuAccessFlags = D3D11_CPU_ACCESS_FLAG::D3D11_CPU_ACCESS_READ;[/b] [b] loadInfo.FirstMipLevel = 0 ;[/b] [b] loadInfo.MipLevels = 1 ;[/b] [b] loadInfo.BindFlags = 0 ;[/b] [b] [/b] [b] [/b] [b] DX_CHECK( D3DX11CreateTextureFromFileA( d3d, "C:/SHARE/res/", &loadInfo, 0, (ID3D11Resource**)&stageCubeTex, 0 ), "load texture cube STAGING" );[/b] [b] [/b] [b] D3D11_TEXTURE2D_DESC stageCubeTexDesc ;[/b] [b] stageCubeTex->GetDesc(&stageCubeTexDesc);[/b] So I'm basically loading it twice. The staging one gets discarded after I work with it.
  5. I'm trying to load a texture cube from a .dds file. Now its loaded, and it renders fine, (which means its loading fine!) But _after_ loading, I need to do some processing on the texcube using CPU ops. So I have: [b] // LOAD THE CUBEMAP[/b] [b] D3DX11_IMAGE_LOAD_INFO loadInfo ;[/b] [b] loadInfo.MiscFlags = D3D11_RESOURCE_MISC_TEXTURECUBE;[/b] [b] DX_CHECK( D3DX11CreateTextureFromFileA( d3d, "C:/SHARE/res/", &loadInfo, 0, (ID3D11Resource**)&cubeTex, 0 ), "load texture cube" );[/b] So that works. But when I try to call ID3D11DeviceContext::Map later on that texCube: [b] D3D11_TEXTURE2D_DESC cubeTexDesc ;[/b] [b] cubeTex->GetDesc(&cubeTexDesc);[/b] [b] if( cubeTexDesc.CPUAccessFlags & D3D11_CPU_ACCESS_READ ) // FALSE!![/b] I tried forcing: // LOAD THE CUBEMAP D3DX11_IMAGE_LOAD_INFO loadInfo ; loadInfo.MiscFlags = D3D11_RESOURCE_MISC_TEXTURECUBE; [b]loadInfo.CpuAccessFlags = D3D11_CPU_ACCESS_READ ;[/b] DX_CHECK( D3DX11CreateTextureFromFileA( d3d, "C:/SHARE/res/", &loadInfo, 0, (ID3D11Resource**)&cubeTex, 0 ), "load texture cube" ); [b]// LOAD FAILS with cpuAccessFlags!!![/b] [b] [/b] But that doesn't work (the texture load fails!)
  6. How to use D2D with D3D11?

    Here's a couple of implementation references for D2D over D3D11 [url=""][/url] [url=""][/url]
  7. FMOD play overlapping sounds

    WAIT, NEVERMIND. I had loaded the sound with FMOD_CREATESTREAM, which is why it kept starting the sound over again. Carry on.
  8. This may be a build in feature of FMOD, but I'd like to see if i can override it. When playing a SOUND with FMOD_System_PlaySound, FMOD_System_PlaySound( system, FMOD_CHANNEL_FREE, SOUND, false, &channel ) ; (YES I use the C api ;) ) If you've ALREADY started playing SOUND, then what happens is the original one is STOPPED and SOUND starts over again. The effect is the original sound gets "cut off". I don't want that, I want SOUND to overlap itself... I want another "instance" of the sound to start playing without affecting the original sound that's already playing.