Advertisement Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

122 Neutral

About highvolt_herb

  • Rank
  1. highvolt_herb

    Light color and material properties

    Admiral, thanks for your reply. I will consider what you said in my design. Herb
  2. Hi, maybe this is a completely dumb question, but I wonder, why for example in Direct3D, a light source has ambient, diffuse and specular as separate color values. I would expect a light source to have one single colour value and the ambient, diffuse and specular terms to be a property of the material. How could a red light cause green specular reflections on a surface? And having green reflections as well, this would be a yellow light. I come accoss this question, because I want to change my code to do lighting completely in shaders and bypassing fixed function pipeline completely and now starting to rethink everything again. Thanks for any ideas on that, Herb
  3. highvolt_herb

    945GM Express Chipset

    Thanks for your useful replies. I did some more search and found also interesting articles in ShaderX2 and ShaderX3 books about software vertex shader processing. My code just failed because I have some test routines for shader caps in my compileShader... functions. Doing a quick hack and filling in a 2.0 in the caps field and using SW_VERTEXPROCESSING showed, that it runs with good performance, as you said. Thanks again, Herb
  4. highvolt_herb

    945GM Express Chipset

    Hi, I'm currently rewriting my DX9 init stuff and therefore testing on some platforms. Using an IBM Thinkpad T60, which has a Mobile Intel 945GM Express Chipset I find, that it reports shader support VS0.0 and PS2.0, as well as no HWTRANSFORMANDLIGHT. I'm just curious, if anyone found similar caps on other devices and how this would be handled best? I don't think, emulating shaders in software is a real good choice. My current action would be to deny the app running on such a system, but hey: it comes with DX9c and is a new notebook! How can a Pixel shader be really useful if no vertex shader is present? I learned from several articles, that either using both shaders or no shaders at all is best practice. Thanks for some ideas, Herb
  5. highvolt_herb

    For debug - get string from value

    Yes, that's exactly what I mean. For the error handling I already use the functions you mentioned. It's just the enums and that stuff, where I look for some better way to represent the meaning in my log files to make reading somewhat easier.... Thanks, Herb
  6. Hi everyone, maybe a dumb question: for logging, I'd like to have the strings rather than pure numbers in my log. E.g. D3DFMT_A8R8G8B8 instead of 21... Did not find any functions for that purpose, so I have written my own, based on the current include files. This works quite fine, but drawback is, that if something changes or is added with new releases, my function is no longer up to date. How do you solve that issue? Thanks a lot, Herb
  7. highvolt_herb

    Lightmapping artefacts

    Hi, I construct a large lightmap texture from many smaller maps. Using 1 small map for each polygon, I get visible seams at polygon boundaries, which is very bad, especially if it happens on a simple wall. Therefore I started to group polygons that share the same plane and calculate one map for each of these groups instead of each poly. This eliminates all seams and looks great. But I found a problem with this: Assume 2 rooms separated by a thin wall. 1 room is lit by a large light, the other is dark. The floor polygons of both rooms are within the same group of polygons, thus sharing a map. Because of the interpolation between lumels, it happens, that in the second room there is a small amount of light visible at the bottom of the wall. The smaller the map, the more this effect gets visible. Now I'm thinking about some way to change the grouping to avoid, that neighbor polygons of this kind are grouped together, but it could get quite complicated. My questions: 1. Is my assumption correct, that I will have no chance to completely eliminate the seams between polys, when creating partial maps for each polygon? I tested a lot and did not get rid of them. 2. Is the grouping really a good way for producing the maps? I'm afraid, that I could be starting to do things too complicated... Thanks a lot for some hints, Herbert
  8. Thanks for your quick replies! SiCrane, using the /Op option solved the problem, now both versions produce the same results. Extrarius, the tip with the "infinite precision library" sounds very interesting, I will check for that. Again, thank you for your help, Herb
  9. Hi, I'm working with double floating points and find, that my program delivers different results when building debug vs. release mode. Absolute identical source code. The code I'm building relies on high precision and it can make a big difference, if a number is 0.0f or 0.000000002f. Already using deltas to do some "fuzzy" comparisons, but still have different results. So it is very difficult to debug a program, when the debug version itself does not show the error... :( Any ideas? Compiler switches? Thanks a lot, Herb (sorry, if that is already covered in another thread, but forum search is currently disabled)
  10. highvolt_herb

    Shader assembler version syntax confusion

    Hi, thanks a lot for the clarifications. As I'm using DX9 I'll start using the underscore stuff... Greetings, Herb
  11. Hi, Maybe a silly question, but what is the difference between using for example vs_2_0 instead of vs.2.0 in the shader version statement? I thought, it would be the same, but somewhere I found, that vs_2_0 would be some "enhanced" version, while another book states, vs.2.0 is for DX8 use while vs_2_0 is for DX9 use. Are there really any differences, and if so, which? Thanks a lot, Herb
  12. highvolt_herb

    Missing triangles on ATI, Nvidia works fine

    Hi Simon, your are 100% right. My mistake was, that I use DWORD for the declaration of MaxActiveLights, but used %d instead of %u in my sprintf() in my logging code. I also thought, that this -1 could be caused by that signed/unsigned stuff, but was unsure, because the dx caps viewer also reports the MaxActiveLights as -1. Apparently, the DX Caps Viewer has the same bug as my code. Actually, my code hangs, because I use this number as counter in a loop, and 4.... is really a little high. I did not expect the ref device to report such a high number of lights, but this will be fixed. Thanks a lot for your help! Greetings, Herb
  13. highvolt_herb

    Missing triangles on ATI, Nvidia works fine

    Hi, thanks for your replies! Namethatnobodyelsetook, I think you hit the nail: seems that my parameters are not correctly setup, minindex was fixed to 0. It does not work completely, but I'm sure I will find the problem now. BlackGhost, the tip with the ref device is very good! I still have problems with it, as it reports MaxActiveLights=-1, which brings my program into trouble, which is a little bit confusing, but I will have a closer look at that. Again, thank you for your help Herb
  14. Hi everyone, when rendering the vertex/indexbuffers on my GeForce 5600 System (WinXP MCE), everything works quite fine. When testing the same code with the same models and texture files on 2 different ATI systems (RADEON 9800XL and X700 on WinXP HOME), some triangles are NOT rendered, while other triangles are textured from both sides. I could reduce the geometry to a simple cube (like a skybox) in which all my models are placed. I'm not using D3DX mesh stuff, just parse the X-file and copy into my own geometry structures and vertex/index buffers. At the first glance, this looks like a culling problem. My code uses D3DCULL_CCW. I tried to set D3DCULL_NONE, which does not influence the effect. I currently have no idea, what the problem could be. My ATI Driver is not the very latest one, and of course I will upgrade tomorrow, when I have more bandwidth for the download. But I doubt, that this is the problem, as the same shows on 2 different ATI systems, that's why i suspect, that there is some relation to ATI... Did anyone observe similar problems? I'm just looking for some hints, where I could start my search? Thanks very much, Herb
  15. highvolt_herb

    Dynamic vertexbuffers/indexbuffers handling

    Hi, it's working now! It was exactly the never really changing index values. I just forgot to set the correct base vertex index! What a basic mistake... m_pD3DDevice->DrawIndexedPrimitive(lpVB->m_d3dPrimitiveType, 0, // << must be set correctly 0, // min index dwIndexCount, // number of vertices lpIB->m_dwFillPos-dwIndexCount, // start index dwIndexCount/3); Richard, you are correct, I do not need to update the IB at all for that MD2 stuff. Loading it ONCE is ok. Thank you, greetings, Herb
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!