Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

139 Neutral

About browny

  • Rank
  1. Hi I am doing a simple volume renderer that uses the texture slicing method. What i do is, generate N quads in view-space and transform them to object space and find out texture coordinates and index into a 3D texture of volume data. I am running a very simple pixel shader in GLSL to do the transfer function. Now the question is, I am getting a bit low FPS which is not expected. Because, in a standard setting i wouldn't be rendering more than say, 256 quads (using VBO), and those quads would be covering approximately half of the screen (or maybe even less) of dimension 1024x768. The pixel shader is also pretty simple with one exp function for a pixel. Btw, i am using the Dell XPS 1530 system with 8600 GT 256 card and I was expecting higher fps than 13 ofcourse. Though itz hard to answer my question without having the full code but I just want to know what things a programmer should keep eyes on when implementing a realtime volume renderer in GPU and want to achieve good frame rate. Z.
  2. Ok, im really confused here. I need to buy a laptop and all these days i was locked on to buying Dell XPS 1530 with the following specs Core2 2.4 MHz Clock, 800 MHz Bus and 3 MB cache 4MB Memory nVidia 8600 GT 256 MB But I came across a ACER Aspire 6920 which is lot cheaper than XPS but comes with a very tantalizing spec Core2 2.0 MHz Clock, 667 MHz Bus and 2 MB Cache 4MB Memory nVidia 9500 GS 512 The confusing part is the graphics card. I haven't yet found a good review on 9500 GS but spec wise 9500 GS and 8600 GT are absolutely identical just 8600 in XPS comes with less memory. Some people even said that 9500 GS is slower than 8600 GT ( God knows why ? cuz they all have the same features ). Some even said the opposite!!! Nvidia website says 9500 GS comes with integrated Physx support. Does 8600 GT come with that too ? (im not sure). Please note that i will be doing quite a lot of graphics (graduate) research work on my laptop and most of it will be related to volume graphics so i need a good CPU too. Can you see why it is becoming difficult for me to weigh these two laptops...? XPS is 250 dollars more expensive than the Acer. But Acer apparently has a newer generation Graphics card ( i dont know how useful that is). XPS processor is more powerful than Acer ( and i need a good processor too). Which way do i go ???? and plz tell me more about the 9500 GS.. please Z.
  3. browny

    Triangulating a 3D "polygon"

    I dont believe this is a trivial problem in 3D in general, because u can, for example, have a spiral shape and how do u triangulate that? you can look into 'delaunay triangulation' and see if it fits u.
  4. browny

    fragment shader headache

    Quote: // left, right, bottom and top velocity samples float4 texL = tex2D(velocity, coords - float2(1,0)); float4 texR = tex2D(velocity, coords + float2(1,0)); float4 texB = tex2D(velocity, coords - float2(0,1)); float4 texT = tex2D(velocity, coords + float2(0,1)); I didn't go through the whole code, nor that I would understand all fancy maths that are involved.But the above code looks kind of weird to me because it seems ou are trying to sample four neighbouring pixels of a texture ( is that right ). In that case , you will need to multiply a scale with float2(1,0) and etc, because "1" means the end of your texure (not the next pixel)!. So if you texture X-Size is 512, the scale would be 1/512.
  5. @MJP Great answers. Thank you, these are the kind of things I am really looking for, i.e. knowing the pits before i step on them :). Also, where do you really find those "inside stories" of shaders like the way you mentioned "SM 3.0 in older NVs were really bad and etc" also that neighbouring pixels thing. Btw, can you please explain that neighbouring pixel thing one more time, i couldn't follow it properly. But thanks a lot again. I believe this thread might be really helpful for lot other people
  6. Yes, i fully understand that everything comes with experience and time. Just wanted to know which way would take me there in shortest possible time. The problem is, writing Shader in HLSL is not only about dealing with a problem (algorithmic) but also thinking a lot about low level hardware and also keeping in mind that "loops will be unrolled", "dynamic branching and hence if-else are really not as free", and etc etc. Like, after 2 days of struggling with my ray-tracer shader code i finally realized that it may not be a good idea to write such ray-tracer in PS; instead using several pass of rendering quads ( slicing technique ) and blending each slice in PS might be a better idea.
  7. yes, i meant HLSL, sorry for not mentioning that.
  8. Writing shaders, though the syntax is very similar to any C program, requires a completely different methodology and mind set. This is perhaps because Shaders are very limited in what they can be made to do, e.g branching, ALU instruction slots and etc. Few days back I was trying to implement a kind of ray-tracer for volume rendering and ran into tons of problem, mostly related to overshooting ALU instruction slots, branching (if-else) and loops. I know these limitations largely depend on shader models but still you may agree with me that writing shader requires a completely different mind set. I am just wondering if there is any good resource (book,ebook or article) out there which discusses about "Writing good shader codes" in general. I didn't mean anything like "How to implement this/that particular algorithm."
  9. Hi, There was a profiling option in VC 6 (long time back). Unfortunately i dont see anything similar in VC 7.1. Can anyone please tell me how can i possibly profile my codes in VC 7.1 without really making a custom profiler myself Z.
  10. Oh one more problem. This problem has been there since long time back. Even when i build the system and everything is up-to-date and i press F5 to debug, VC 7 annoyingly nags "Your project is out-of-date, do you want to build it, YES or NO?" This isn't particularly a lethal problem because i can always press NO and continue but still annoying enough and sometimes confusing too !
  11. Im working on a huge VC 7 C/C++ project. Lately, after some event, which i dont remember, when i build the project, the build system goes very fast over all the source files (doesn't really compile the ones that are already compiled though), i.e. dumps the all the file name on the log window and then the linking process takes extra long time (even though i set up the option for Incremental link). This wouldn't happen before. Only the modified source file would be compiled and it's name would printed on the log window and the linking would take short time. Now, all the file names are dumped on the log window very quickly, though only compiles the the modified one but linking is taking long time. I hope i could pass on the real scenario here. What exactly is causing this and how do i fix it, any idea ?
  12. #define CALL_FN_W_v(lval, orig) do { volatile OrigFn _orig = (orig); volatile unsigned long _argvec[1]; volatile unsigned long _res; _argvec[0] = (unsigned long)_orig.nraddr; __asm__ volatile( "movl (%%eax), %%eax\n\t" /* target->%eax */ VALGRIND_CALL_NOREDIR_EAX : /*out*/ "=a" (_res) : /*in*/ "a" (&_argvec[0]) : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS ); lval = (__typeof__(lval)) _res; } while (0) Consider the above #define. Why are some defines wrapped with a dummy do-while(0) loops ?
  13. Quote:Original post by oldbare "My aim is to have a substantial research leading towards the game industry." Do you want to be a faculty or work for industry after ur ph.d.? Sry for my poor understanding. But that may be the most important question. Faculty is probably something that I am not looking for right now. Maybe i would like to work in the RnD of Game Industries.
  14. Where did you get this "Ranking" by graphics from ?
  15. I think CrtDdbg of CRT lib already does that. But im looking for a more interactive method .. something like a debugger whereby i can see/query the status of a pointer in the allocation table (allocated/de-allocated/free)
  • Advertisement

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!