Jump to content
  • Advertisement

NumberXaero

Member
  • Content count

    646
  • Joined

  • Last visited

Community Reputation

2624 Excellent

About NumberXaero

  • Rank
    Advanced Member

Personal Information

  • Industry Role
    Programmer
  • Interests
    Art
    Audio
    Business
    Programming

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. You want array of vectors....   int frames = 1330; std::vector<int>* ivecs = new std::vector<int>[frames];   or just use a vector of vectors   typedef std::vector<int> intVector; std::vector<intVector> anims(frames);
  2. What if you change all the camera (pos, dir, amount) to (amount, dir, pos)?   XMVectorMultiplyAdd(position, right, amount) => XMVectorMultiplyAdd(amount, right, position)
  3. Ive had a problem similar to this with gl text before, although it was a while ago and I dont remember what it was exactly. What gl version are you targeting and what does the shader look like for this? Have you rendered the atlas to a quad and confirmed that everything is copying into the right place? Off the top of my head I remember something about setting the textures swizzle tex parameter GL_TEXTURE_SWIZZLE_RGBA to {GL_RED, GL_RED, GL_RED, GL_RED} when using the format GL_RED but thats just a guess.   1) confirm your tex coords are generated correctly 2) confirm the image displays as you think it should 3) confirm you are getting the correct values in the shader when sampling the texture in the fragment shader
  4. Probably to add features existing formats dont have, compression, mipmaps precalculated, HDR, could be a million things other formats dont support or dont do well enought for them.
  5. Thats pretty much correct, the baking youre referring to is common to generate a normal map (and other maps, AO, etc). The general idea is you have a low poly and a high poly that essentially match/lineup except they have different poly counts, and therefore the higher poly one is more detailed. You "bake" these high poly details into a texture (like a normal map) and then apply the normal map to the low poly in game for lighting calcs, etc.   Youre missing steps in the sense that it can be a little more involved, depends on the tools/process used, normal map output depends on the target engine/software format, conventions, etc. and as I understand it, its not exactly hard to generate bad maps containing errors if the input models are not what/where they need to be.   a program called x-normal is often used for the "bake" process.   As for poly counts, again its sort of target dependent, what are they for, I believe the characters in doom 3 if I remember were somewhere between 1500-3000, thats probably on the lower end these days, but again its depends on the target use and the effects that will be applied to it, it really could be anything. Two triangles for a wall in the world with a lot of effects on it might do the job. For the high poly bake source, ive seen extremely high counts, 100s of thousands or more depending. But again it depends on whats needed.
  6. NumberXaero

    GLSL: Incorrect WorldPosition

    Im not sure what "matTotal" is or how youre building it, is "matTotal" the combined world * view * proj matrix? if it is you might be transforming object space verts (vertexPos) into world (WorldPos) and then transforming world space pos "WorldPos" by world again, as part of the world view proj matrix "matTotal". "matTotal" is an odd name, might wanna name it what it is, MVP or VP.
  7. Why disable the context on line 5, only to turn it on again on 7? and why get two pointers to CreateContextAttribs? seems odd, or are these sanity checks?   Generally you   CreateContext(old) MakeCurrent(old) load CreateContextAttribs  // get ptr call CreateContextAttribs   // get the new context MakeCurrent(null)             // done with old DeleteContext(old)           // delete old MakeCurrent(new)            // off you go
  8. I have a model I loaded into a VBO with an index buffer using a VAO. The shader Im testing with uses a uniform buffer with an array of 4x4 matrices and an array of vec4 colors, 256 of each. These arrays are indexed by gl_InstanceID. When I create the buffer with the STATIC hint, with glBufferData to size it once, and glBufferSubData to upload to it once, everything is fine, runs as expected, 256 randomly rotated models in a grid layout. Switching the VBO to use glBufferStorage with 3x storage (~6mb for ~2mb model), creating with persistent/write/coherent flags, and mapping once with persistent/write/coherent/dynamic_storage causes the performance to plummet. If I limit the instance count of the bad perf case to 32 (of the possible 256) it runs alright. Whether I write to the 3x buffer every frame or not (using fenceSyncs, or not) simply using buffer storage with instancing destroys perf, where Im not seeing any problems with a single STATIC/BufferData/BufferSubData. Ive checked with NSight and all I can see is that with the buffer storage case, the single glDrawElementsInstancedBaseVertex call takes approx. 4x longer then the STATIC bufferData case. Nothing changes with the uniform buffer, same data, same updates, and the funny thing is I use this bufferStorage/fenceSync/3xSize setup all over the place, but only with this single glDrawElementsInstancedBaseVertex does it cause perf problems. Other info: - im not exceeding the uniform buffer size limit - can safely assume the fence syncs on the 3x buffer are not blocking - on an NV 670 2gb - Nsight reports no errors in graphics debugging, except the call is taking 4x longer Am I missing something, or have I just hit a slow path in the driver? any ideas? my last idea is that the 3x buffer with base vertex is taking me to some unaligned address, could that be it?
  9. NumberXaero

    3ds Max 2012 Review

    Cant see them doing anything about the price, no need to be competitive when you buy up the competition and package them as a suite.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!