<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
      <title>Tagged with opengl - NVIDIA Developer Forums</title>
      <link>http://forums.developer.nvidia.com/devforum/discussions/tagged/opengl/feed.rss</link>
      <pubDate>Wed, 16 May 12 17:35:56 -0400</pubDate>
         <description>Tagged with opengl - NVIDIA Developer Forums</description>
   <language>en-CA</language>
   <atom:link href="/devforum/discussions/taggedopengl/feed.rss" rel="self" type="application/rss+xml" />
   <item>
      <title>glFramebufferRenderbuffer() causing GL_INVALID_VALUE</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/7941/glframebufferrenderbuffer-causing-gl_invalid_value</link>
      <pubDate>Tue, 08 May 2012 09:45:22 -0400</pubDate>
      <dc:creator>Mokka</dc:creator>
      <guid isPermaLink="false">7941@/devforum/discussions</guid>
      <description><![CDATA[I try to simply set up a depth render buffer in OpenGL. The buffer ID is correctly generated but when I call glFramebufferRenderbuffer() a GL_INVALID_VALUE is "thrown". This behavior is not documented in the GL specs as far as I know. The code snipped below shows the full initialization code I use for the frame buffer. The only thing I do before is initializing GLUT and GLEW. Am I missing something?<br />Oh and the code does not "throw" the error on hardware of another vendor.<br /><br /><code>// Generate the frame buffer object<br />glGenFramebuffers(1, &amp;framebufferID);<br /><br />// Generate a render buffer for depth information<br />glGenRenderbuffers(1, &amp;renderbufferDepthID);<br /><br />// Bind FBO<br />glBindFramebuffer(GL_DRAW_FRAMEBUFFER, framebufferID);<br /><br />executeGLCheck(); //&lt;- No GL Errors<br /><br />// Attach the renderbuffer to the FBO<br />glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, renderbufferDepthID);<br /><br />executeGLCheck(); //&lt;- GL_INVALID_VALUE thrown.<br /><br />// Unbind framebuffer for safety<br />glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);</code><br /><br />Additional Info:<br />- Windows 7, 64 Bit<br />- NVidia driver ver. 295.73/296.xx/(DEV)301.27 (tried multiple)<br />- Chip: GeForce GTX 280M<br /><br />Regards,<br />Mokka]]></description>
   </item>
      <item>
      <title>Stencil clear performance on GeForce 6200</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6716/stencil-clear-performance-on-geforce-6200</link>
      <pubDate>Thu, 05 Apr 2012 11:00:27 -0400</pubDate>
      <dc:creator>Andrew McDonald</dc:creator>
      <guid isPermaLink="false">6716@/devforum/discussions</guid>
      <description><![CDATA[I noticed a strange performance issue on one machine that I narrowed down to the stencil buffer clear. The app uses OpenGL, and the stencil mask had been set to 1 rather than all 1s (ie 0xFF). This was enough to reduce the framerate on an old GeForce 6200 from ~42 to ~36, even if stenciling wasn't even in use. From testing, it seems that any stencil mask that's not 0 or 0xFF hammers the frame rate in this way. The stencil mask is respected when clearing the buffer, but I don't see why it should be so expensive - can't the stencil clear value just be masked beforehand, so it would be the same as setting the clear value differently?<br /><br />Separately, I noticed that including GL_STENCIL_BUFFER_BIT is enough to reduce the frame rate on its own even without a funky mask, or with any other stencil activity in the frame. The old wisdom was that you should always clear the depth &amp; stencil buffers together. I'd expected that to no longer apply, but I'm surprised it had swung so far the other way by the time of the GeForce 6 series. The FPS drops from a 44 down to ~42 just by clearing the stencil buffer, again on that 6200.<br /><br />Is any of this surprising? The old GeForce 6/7 GPU Programming Guide doesn't mention this, but the FPS hit is severe.]]></description>
   </item>
      <item>
      <title>Bindless extensions on OpenGL 3.x/4.x</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/7686/bindless-extensions-on-opengl-3-x4-x</link>
      <pubDate>Sun, 29 Apr 2012 09:13:13 -0400</pubDate>
      <dc:creator>PavelUmnikov4DVision</dc:creator>
      <guid isPermaLink="false">7686@/devforum/discussions</guid>
      <description><![CDATA[Hello everyone,<br /><br />I saw and used really helpfull bindless extensions that are really mixture for program performance. Any chance to see them with OpenGL 3.x/4.x Core Profile support? ]]></description>
   </item>
      <item>
      <title>Correct order of operations when enabling/disabling Cg shaders in OpenGL</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/7646/correct-order-of-operations-when-enablingdisabling-cg-shaders-in-opengl</link>
      <pubDate>Fri, 27 Apr 2012 15:12:43 -0400</pubDate>
      <dc:creator>redneon</dc:creator>
      <guid isPermaLink="false">7646@/devforum/discussions</guid>
      <description><![CDATA[I've started writing an Effect class which uses Cg shaders in OpenGL and I'm a bit confused about the order of operations when creating and rendering using Cg.<br /><br />Currently, my Effect class contains CGprogram, CGprofile and an array of CGparameter variables which get populated on loading the Effect similar to this:<br /><br /><code><br />m_vertexProfile = cgGLGetLatesProfile(CG_GL_VERTEX);<br />cgGLSetOptimalOptions(m_vertexProfile);<br />m_vertexProgram = cgCreateProgramFromFile(g_cgContext, CG_SOURCE, fileName, m_vertexProfile, entryPointName, NULL);<br />cgGLLoadProgram(m_vertexProgram);<br /><br />CGparameter param = cgGetFirstParameter(m_vertexProgram, CG_PROGRAM);<br />while (param)<br />{<br />	const char* paramName = cgGetParameterName(param);<br />	m_vertexParameters[m_vertexParamNum++] = param;<br />	param = cgGetNextParameter(param);<br />}<br /></code><br /><br />It's not exactly like this and this is only using a vertex shader but it contains the important code. Anyway, that's how I create the Effect and then when I want to use it during a render I use Enable() and Disable() functions before and after I draw the verts etc.<br /><br /><code><br />void Effect::Enable()<br />{<br />	cgGLBindProgram(m_vertexProgram);<br />	cgGLEnableProfile(m_vertexProfile);<br />}<br /><br />void Effect::Disable()<br />{<br />	cgGLUnbindProgram(m_vertexProfile);<br />	cgGLDisableProfile(m_vertexProfile);<br />}<br /></code><br /><br />I'm not sure if this is the correct way to do it, though. Is it correct to enable and disable the profile for each shader? More to the point, do I actually want a profile per shader? I'm using the same profile for each shader so surely I could just have a global one and use that?<br /><br />Any advice would be much appreciated.<br />]]></description>
   </item>
      <item>
      <title>PBO + glTexSubImage2D hangs</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/7491/pbo-gltexsubimage2d-hangs</link>
      <pubDate>Tue, 24 Apr 2012 18:02:43 -0400</pubDate>
      <dc:creator>attilaafra</dc:creator>
      <guid isPermaLink="false">7491@/devforum/discussions</guid>
      <description><![CDATA[I'm uploading frames into a texture using a pixel buffer object. I'm using an NVS 5100M and Windows 7 x64. With driver version 275.33 or older it works fine, but with 296.10, 296.35 and 301.27 the glTexSubImage2D call hangs for a few seconds. Sometimes it recovers, but usually TDR kicks in or even causes a BSOD. The problem is not specific to my code, and it can be easily reproduced using this PBO sample code: <a href="http://www.songho.ca/opengl/files/pboUnpack.zip" target="_blank" rel="nofollow">http://www.songho.ca/opengl/files/pboUnpack.zip</a><br /><br />Do you have any idea what's wrong? Many thanks!]]></description>
   </item>
      <item>
      <title>What is max hardware limit for gl_PointSize?</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/7196/what-is-max-hardware-limit-for-gl_pointsize</link>
      <pubDate>Tue, 17 Apr 2012 15:51:52 -0400</pubDate>
      <dc:creator>Scott MacHaffie</dc:creator>
      <guid isPermaLink="false">7196@/devforum/discussions</guid>
      <description><![CDATA[Is there a way of telling what the maximum size for gl_PointSize (GLSL) is?]]></description>
   </item>
      <item>
      <title>3D Vision OpenGL Support Problem</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/7221/3d-vision-opengl-support-problem</link>
      <pubDate>Tue, 17 Apr 2012 22:30:42 -0400</pubDate>
      <dc:creator>GoldenSword</dc:creator>
      <guid isPermaLink="false">7221@/devforum/discussions</guid>
      <description><![CDATA[Hi, I'm an app developer and want to support 3D Vision/3D Vision Pro. I use OpenGL for rendering of the 3D scene in my projects. Finally I finished my program, but the problem is the app can not active shuttle glass by it self, I can see overlapped iamges (left and right) displayed on screen, but the glass not work. If I run Nvidia's Stereo Viewer App, then the display mode will change to 3D mode, and My App can work well.<br />My Question Is, How can I active the shuttle glass by OpenGL API? It is really serious. Can any one give some advise?]]></description>
   </item>
      <item>
      <title>Using CUDA Resource - via PBO or Texture</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/7176/using-cuda-resource-via-pbo-or-texture</link>
      <pubDate>Tue, 17 Apr 2012 06:19:32 -0400</pubDate>
      <dc:creator>fly2bfree</dc:creator>
      <guid isPermaLink="false">7176@/devforum/discussions</guid>
      <description><![CDATA[Hi<br />I am playing around with cudaGraphicsResource for render-to-texture. I compute Mandelbrot-Fractal in a kernel on GPU. The image is written to either a PixelBufferObject or a 2d texture. I expect the same performance, but it actually differs due to my code, I guess. <br /><br />First approach using PBO:<br />Register PBO and get Pointer to PixelBufferObject:<br /><code>cutilSafeCall( cudaGraphicsGLRegisterBuffer(&amp;cudaResource, <br />                                              pixelBuffer-&gt;bufferId(), <br />                                              cudaGraphicsRegisterFlagsWriteDiscard) );<br />//...<br />// dst is pointer to cudaResource<br />cutilSafeCall( cudaGraphicsResourceGetMappedPointer((void**)&amp;pos, &amp;num_bytes, dst) );<br /></code><br /><br />Second approach using image/texture:<br />Register Image and get Pointer to Image/Texture:<br /><code>// Map the GL texture resource with the CUDA resource<br />cutilSafeCall( cudaGraphicsGLRegisterImage( &amp;cudaResource, <br />                                              textureID[0], <br />                                              GL_TEXTURE_2D, <br />                                              cudaGraphicsMapFlagsWriteDiscard ) );<br />//...<br />// Get a device pointer to the OpenGL buffers<br />cutilSafeCall( cudaGraphicsSubResourceGetMappedArray( &amp;dstArray, dst, 0, 0 ) );<br />//...<br />cudaThreadSynchronize();<br />// Copy the destination back to the source array<br />cutilSafeCall( cudaMemcpyToArray( dstArray, 0, 0, <br />                                    g_dstBuffer, <br />                                    bufferSize, <br />                                    cudaMemcpyDeviceToDevice ) );<br /></code><br /><br />The first approach is three times faster than the second approach.<br /><br />The demo code you can <a href="http://tubafun.bplaced.net/public/qt4_mandelbrot_pbo_tex.zip" title="(qt4 mandelbrot linux source code)">download here</a>.<br /><br />Perhaps the cudaMemcpyToArray is the problem, because it does not run asynchronously, so the kernel is idle during the copy process. Profiler says me there is "low memcpy/compute overlap". <br />What do I have to change, or is it always easier to use the PBO approach? <br />At the moment I can't figure out why one has to use the first or the second approach, when I assume correct implementation so the second works as fast as the first one.<br /><br />// Well, if I wouldn't have pressed enter in the tags field, this post wouldn't be public now, so sorry if this post looks a bit unprepared :/ <br /><br />Thanks for your help]]></description>
   </item>
      <item>
      <title>OpenGL on Tesla on Amazon EC2 running Windows 2008</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6686/opengl-on-tesla-on-amazon-ec2-running-windows-2008</link>
      <pubDate>Wed, 04 Apr 2012 14:02:05 -0400</pubDate>
      <dc:creator>ranyakir</dc:creator>
      <guid isPermaLink="false">6686@/devforum/discussions</guid>
      <description><![CDATA[Hello,<br />I am trying to open an OpenGL pbuffer on an Amazon EC2 instance with Tesla GPU. Problem is that although the machine includes two Tesla devices, the display is attached to the VGA device, and so I only get the simple OpenGL emulation to run.<br />I saw in some Forum that people have managed to open a graphics context on Tesla in Linux. Is this also possible on Windows? Anyone has a tip?<br /><br /><br />Thanks<br />Ran]]></description>
   </item>
      <item>
      <title>Bad video from jack1 and jack2 on Quadro FX SDI Capture</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6431/bad-video-from-jack1-and-jack2-on-quadro-fx-sdi-capture</link>
      <pubDate>Tue, 27 Mar 2012 10:23:33 -0400</pubDate>
      <dc:creator>Sergey Gaychuk</dc:creator>
      <guid isPermaLink="false">6431@/devforum/discussions</guid>
      <description><![CDATA[Dear All!<br /><br />First of all: Sorry for my bad English :)<br />I want to develop application for pack input video to h264 container. I downloaded SDI SDK. I run vid2tex for check inputs. I had some troubles with video. I have good picture from first jack, and bad video from second and third jacks. I tried to swap (physically) first and third sdi inputs. After that, i still have good picture from first jack and bad from 2 and 3. I looked at console and saw that VideoCapture return PARTIAL_SUCCESS. I checked LAST_VIDEO_CAPTURE_STATUS on all jacks, and i had SUCCESS for the first and FAILURE for others. I tried to get video only from the second jack, and after call VideoCapture, i had failure result. I tried to get glError but i had no errors.<br />I have:<br /> Debian with installed nvidia drivers 295 version.<br /> Intel XEON server with KVM<br /> Quadro SDI Capture Card<br /> Quadro FX 4800<br /> Input on all jack the same:<br />   Video Format: 1920*1080i 50.00 Hz (SMPTE274)<br />   Component Sampling: 4:2:2<br />   Color space: YCbCr<br />   Bits per component: 10bpc<br /><br />I didn't develop own program, i used vid2tex and changed NvSDIin for playing with different streams.<br /><br />If you need some other info, please ask me and I'll provide it in a moment.<br /><br />Thanks to all in advance,<br />Sergey Gaychuk<br /> ]]></description>
   </item>
      <item>
      <title>OpenGL 4.2 Uniform Buffer Object layout binding</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/7086/opengl-4-2-uniform-buffer-object-layout-binding</link>
      <pubDate>Mon, 16 Apr 2012 04:03:33 -0400</pubDate>
      <dc:creator>welford</dc:creator>
      <guid isPermaLink="false">7086@/devforum/discussions</guid>
      <description><![CDATA[I Posted this on the OpenGL forums already: <br /><br />I have two Uniform Blocks in my vertex shader :<br /><br /><code>layout(std140, binding=1) uniform Transforms<br />{<br />uniform mat4		mvp;<br />uniform mat4		proj;<br />uniform mat4		mv;<br />uniform mat4		nrmn;<br />}trans;</code><br /><br /><code>layout(std140, binding=3) uniform Shadows<br />{<br />uniform mat4 shadowMtx[2];<br />}sdw;<br /></code><br />I can get the correct binding for Transforms using glGetActiveUniformBlockiv with GL_UNIFORM_BLOCK_BINDING but it gives me 0 for Shadows.<br /><br />If I change Shadows to <br /><br /><code>layout(std140, binding=3) uniform Shadows<br />{<br />uniform mat4 dummy;<br />uniform mat4 shadowMtx[2];<br />}sdw;</code><br /><br />querying GL_UNIFORM_BLOCK_BINDING now gives the correct location. Have I misunderstood something or is this a bug?<br /><br />I'm using openGL 4.2 with Nvidia 460 w/ 296.10 drivers <br /><br />Thanks,<br /><br />James]]></description>
   </item>
      <item>
      <title>add my own acceleration structure into Optix</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6741/add-my-own-acceleration-structure-into-optix</link>
      <pubDate>Fri, 06 Apr 2012 15:45:48 -0400</pubDate>
      <dc:creator>xiaoxiao8612</dc:creator>
      <guid isPermaLink="false">6741@/devforum/discussions</guid>
      <description><![CDATA[Does anyone know how to bring a new acceleration structure into Optix? I've developed a new structure based on kd-tree and I want to test the ray tracing performance with Opitx. But I really don't know where to start. It seems that I cannot access or change any code related to the acceleration object except using the existing builder and traverser. <br /><br />Appreciate for any suggestion or discussion. ]]></description>
   </item>
      <item>
      <title>Possible erroneous memory access and/or race condition in glDrawArrays?</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6976/possible-erroneous-memory-access-andor-race-condition-in-gldrawarrays</link>
      <pubDate>Thu, 12 Apr 2012 15:25:10 -0400</pubDate>
      <dc:creator>jthoenen</dc:creator>
      <guid isPermaLink="false">6976@/devforum/discussions</guid>
      <description><![CDATA[Hello,<br /><br />I seem to have come across an issue that gets triggered by calling glDrawArrays.  Here is my configuration:<br /><br />RHEL 5.4 32-bit non-PAE.<br />2x Quadro FX 3800.<br />Frame grabber board.<br />We're running the Xorg server without any window manager and with composite disabled.<br />Our application uses OpenSceneGraph to issue OpenGL calls.<br /><br />Our application starts up the frame grabber board through a proprietary vendor-supplied set of APIs, which manages a capture thread under the hood.  This thread dispatches an application-provided callback function for every frame that's grabbed.<br /><br />The application goes on to render a simple line-loop square via glDrawArrays.  Long story short, the grabber thread runs fine until the call to glDrawArrays, then the grabbing suddenly stops completely.  Occasionally the application generates a core dump, and it shows the main thread's call stack as garbled and the other threads' stacks all look mostly fine... except that instead of, say, clone() at the bottom, some unknown function from either libGL or libGLcore is listed.<br /><br />Here's the kicker - with gdb attached, or with strace, or valgrind, or even the Cg Toolkit's GL-Trace library loaded, the application does NOT exhibit this problem.  I'm guessing the only thing these applications have in common is that they intercept or somehow all slow down certain calls, leading me to suspect there might be some internal timing issue.<br /><br />Another interesting detail:  Older drivers do not exhibit the problem.  The oldest driver that exhibits the problem is 260.19.04, where 256.53 (and all older drivers that I've tried going back to 180.60) do not exhibit the problem.<br /><br />Any suggestions, guidance, or insight would be much appreciated.  Thank you!<br /><br />Best regards,<br />Jim Thoenen<br /><br />ps, I've attached the Cg GL trace library's output.]]></description>
   </item>
      <item>
      <title>Performance issue on first drawing of a VBO with a Quadro GPU under Linux</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6921/performance-issue-on-first-drawing-of-a-vbo-with-a-quadro-gpu-under-linux</link>
      <pubDate>Wed, 11 Apr 2012 12:14:47 -0400</pubDate>
      <dc:creator>aguinet</dc:creator>
      <guid isPermaLink="false">6921@/devforum/discussions</guid>
      <description><![CDATA[Hello everyone,<br /><br />I am experiencing a performance issue when drawing one million random lines thanks to a VBO w/ OpenGL (as an experiment) using a Quadro GPU under Linux. Indeed, the first frame (that draws 1 million lines) takes about 2.7s, and the others about 300ms. The same thing is done for each frame :<br /><br /><code><br />$ ./lines 1000000<br />Initialising 1000000 random lines...<br />Done !<br />Drawing took 2702.0719 ms... (370086.3773 lines/s)<br />Drawing took 305.3015 ms... (3275450.3285 lines/s)<br />Drawing took 301.8497 ms... (3312906.7015 lines/s)<br />Drawing took 305.5023 ms... (3273298.2181 lines/s)<br />Drawing took 300.9025 ms... (3323335.5547 lines/s)<br /></code><br /><br />You can download the source code here: <a href="http://files.geekou.info/gl_vbo.tar.bz2">http://files.geekou.info/gl_vbo.tar.bz2</a> . It is using GLUT.<br /><br />The thing is that this performance issue does not happen with the same machine but changing its GPU with a GTX 570, so that might be a driver issue (?):<br /><br /><code><br />$ ./lines 1000000<br />Initialising 1000000 random lines...<br />Done !<br />Drawing took 0.02 ms...<br />Drawing took 303.9075 ms... (3290475.0494 lines/s)<br />Drawing took 301.9110 ms... (3312233.9943 lines/s)<br />Drawing took 305.4198 ms... (3274182.1764 lines/s)<br />Drawing took 300.9701 ms... (3322589.3309 lines/s)<br />Drawing took 304.0043 ms... (3289427.4158 lines/s)<br />Drawing took 301.0136 ms... (3322108.8025 lines/s)<br />Drawing took 305.5717 ms... (3272554.1487 lines/s)<br />Drawing took 301.8462 ms... (3312944.9401 lines/s)<br /></code><br /><br />Is it due to the way the lines are drawn (using a VBO), or has someone an idea of what's the source of this behaviour ?<br /><br />Some informations about the system used:<br /><br /><code><br />$ uname -a<br />Linux proto-01 3.2.0-2-amd64 <a href="/devforum/search?Search=%231&amp;Mode=like">#1</a> SMP Tue Mar 20 18:36:37 UTC 2012 x86_64 GNU/Linux<br /></code><br /><br />You can find the output of glxinfo here: <a href="http://pastebin.com/jt6xWyA7">http://pastebin.com/jt6xWyA7</a><br />This is a debian testing system up-to-date (as of today).<br />The NVIDIA driver used is the 285.05.33 (hte latest CUDA driver that can be downloaded for Linux as of today).<br />Please let me know if any other informations can be relevant :<br /><br />Thanks for any help!<br /><br />Regards]]></description>
   </item>
      <item>
      <title>Questions about Cg UBO&#039;s</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/5956/questions-about-cg-ubos</link>
      <pubDate>Thu, 15 Mar 2012 10:36:26 -0400</pubDate>
      <dc:creator>Rick16bit</dc:creator>
      <guid isPermaLink="false">5956@/devforum/discussions</guid>
      <description><![CDATA[Hi again, some questions about UBO's (uniform buffer objects). Currently I'm doing many "cgSetParameter" calls, so I'm trying to move things to the GPU side and limit the calls to win a bit speed.<br />-------------------------------<br />* Does it matter <strong>how big</strong> the UBO is? <br />I mean does a large UBO consume more performance, bandwidth or passing time? Or maybe fixed sizes like 64 or 128 bytes fits better for caching purposes?<br /><br />* How big can a UBO be anyway? 4096 x 16 bytes or something?<br /><br />* Does the <strong>amount of UBO's applied at the same time </strong>matter? <br /><br />* For the dynamic UBO's (containing current cycle info such as the camera position), is it faster to change each individual field with cgSetBufferSubData, or just change the whole data at once with cgSetBufferData? Or, should updates be done different anyway?<br /><br />* Is it possible to <strong>share</strong> UBO's amonst multiple shaders? <br />For example, the "CameraPosition" is the same for all shaders / objects to be rendered. So if possible, I'd just like to push the UBO once at the renderCycleStart, then share amongst all shaders that need it, so I don't have to call "cgSetUniformBufferParameter" each time I switch<br />materials. A bit like "cgConnectParameter"...<br /><br />* The biggest "problem" is the huge amount of materials I have. If there are 100 different objects, I need to make switches between 100 different texture/parameter values as well. AFAIK there is not much I can do about the textures, but the (few) parameters per material could be combined into 1 UBO of course. However, that still requires 1 cgSetUniformBufferParameter per material. Is it still recommended to use a UBO for just a few parameters?<br /><br /><br />Cheers,<br />Rick]]></description>
   </item>
      <item>
      <title>Cg UBO problems, Compiling time &amp; Memory consumption.</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6871/cg-ubo-problems-compiling-time-memory-consumption-</link>
      <pubDate>Tue, 10 Apr 2012 18:49:08 -0400</pubDate>
      <dc:creator>Rick16bit</dc:creator>
      <guid isPermaLink="false">6871@/devforum/discussions</guid>
      <description><![CDATA[Right, I asked about this before but no answers so I'll just do it again. Recently I started using UBO's in my shaders. All cool, but there are a few serious issues:<br />* Compiling of the shaders takes much longer<br />* Shaders seem to use a lot more RAM memory (big code I guess)<br />* Can't find UBO parameters with the cgGetNamedProgramUniformBuffer() function when loading pre-compiled shader code (to avoid the extreme compiling times)<br /><br />Not being able to find the parameter is annoying as I can't load pre-compiled shaders then. When loading raw code and compiling by hand, it works though.<br /><br />As for the compiling time and memory consumption, the problem is most probably the UBO having a large array being unrolled into thousands of code lines. And it's not just 1 shader, multiple shaders are using the same UBO, but redefine the whole code again and again nonetheless.<br /><br /><br />To give some numbers: <br />- There are 242 different shaders<br />- 17 of them are using UBO's<br />- Most of them have less than 1kb compiled code (textfiles)<br />- Those with the UBO's can be up to 330 kb though<br />- All compiled shaderfiles togeter, as text, take 2.3 MB harddrive diskspace.<br />- Compiling time increased from less than a minute to several minutes<br />- Memory grew a few 100 MB after loading all those shaders, about 100 MB more with UBO's now.<br /><br />It surprises me it takes so much RAM though. I have the feeling I'm doing something terribly<br />wrong with UBO's.<br /><br />Rick]]></description>
   </item>
      <item>
      <title>Idea for demo: ptex</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6861/idea-for-demo-ptex</link>
      <pubDate>Tue, 10 Apr 2012 13:55:51 -0400</pubDate>
      <dc:creator>jogshy</dc:creator>
      <guid isPermaLink="false">6861@/devforum/discussions</guid>
      <description><![CDATA[I would like to see a demo from NVIDIA featuring realtime PTEX.<br />thx]]></description>
   </item>
      <item>
      <title>GLSL floatBitsToInt() error</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6746/glsl-floatbitstoint-error</link>
      <pubDate>Fri, 06 Apr 2012 17:22:05 -0400</pubDate>
      <dc:creator>hangdou</dc:creator>
      <guid isPermaLink="false">6746@/devforum/discussions</guid>
      <description><![CDATA[Hi, in my fragment shader, I tried to use floatBitsToInt() to get the bitwise representation of a float number into int. However, floatBitsToInt() only takes const value:<br /><br />When I use floatBitsToInt(2.334), it gives me a right result. <br />When I use floatBitsToInt( temp ), it simply returns 0.<br /><br />I have looked up into this for long. Anybody can help? Thanks a lot.<br />My system is:Linux, opengl 4.2, GTX 550 Ti.]]></description>
   </item>
      <item>
      <title>Maker3D and a strange problem on some nVidia gpu&#039;s</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/3101/maker3d-and-a-strange-problem-on-some-nvidia-gpus</link>
      <pubDate>Thu, 05 Jan 2012 14:59:50 -0500</pubDate>
      <dc:creator>Geri</dc:creator>
      <guid isPermaLink="false">3101@/devforum/discussions</guid>
      <description><![CDATA[ohai nvidia<br /><br />i have a problem and i start to shame myself a bit, becouse i was unable to fix it in the past half year.<br />(sorry for my broken english.)<br /><br />-the problem affects some nvidia cards<br />-i am unable to reproduce the bug<br />-the bug causes serious fps loss<br />-problem does not occurs on ati cards<br /><br />link: <a href="http://Maker3D.tk">http://Maker3D.tk</a><br /><br />the problem affects various nvidia gpu/igp based systems.<br /><br />for example: ,,20 fps on my ,GTX480+6x3ghz cpu''<br />(i think it should be above 70 fps on this system)<br /><br />the architecture of the graphics engine: <br />-classic opengl graphics engine <br />-arb_shadow<br />-multitexturing<br />-(unindexed) vbo/varray/disp-list/everything<br />-fbo<br />-4x AA<br />-arb texture compression<br /><br />-the problem is POSSIBLY related somehow with the shadowing or fbo's.<br />-i checked it with gl intercept, nothing suspicious<br />-i dont have nvidia gpu atm<br />-i dont know, wich drivers are affected<br />-i think it affects nvidia drivers under linux too<br /><br />if its possible, i would really like to recive some feedback.<br /><br />if somebody who is experienced in such things, has any hint, or ran into a related problem, please tell it. <br /><br /><img src="http://30.media.tumblr.com/tumblr_lmaacsYQc11qk92x2o1_500.gif" alt="http://30.media.tumblr.com/tumblr_lmaacsYQc11qk92x2o1_500.gif" />]]></description>
   </item>
      <item>
      <title>Dynamic Ambient Occlusion</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/5436/dynamic-ambient-occlusion</link>
      <pubDate>Mon, 05 Mar 2012 09:13:50 -0500</pubDate>
      <dc:creator>oppid</dc:creator>
      <guid isPermaLink="false">5436@/devforum/discussions</guid>
      <description><![CDATA[Hi everyone,<br />I have downloaded "Dynamic Ambient Occlusion" program from SDK 9.5 but at runtime I get this error: "Required Extension not found: GL_NV_fragment_program2".<br />What can I do??<br /><br />Thanks in advance.]]></description>
   </item>
      <item>
      <title>Optimus chipsets and NVApi</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6596/optimus-chipsets-and-nvapi</link>
      <pubDate>Mon, 02 Apr 2012 03:18:25 -0400</pubDate>
      <dc:creator>PiiX</dc:creator>
      <guid isPermaLink="false">6596@/devforum/discussions</guid>
      <description><![CDATA[Hello,<br /><br />Here is my problem, since i got this new optimus chipset ( nVidia GT540m + core i5 ) i'm in a lot of trouble. With graphic and performances problems. So I tried to debug the nvidia context.<br /><br />And strangely enough, I got a reportable bug that way.<br /><br />NVApi doesn't work properly in my framework.<br /><br />so :<br /><br />NvDisplayHandle pNvDispHandle1;<br />NvAPI_Status res = NvAPI_Initialize();<br />res = NvAPI_EnumNvidiaDisplayHandle(0, &amp;pNvDispHandle1);<br />NvAPI_Unload();<br /><br />NvApi is initialized fined but "NvApi_EnumNvidiaDisplayHandle" returns "-6" : Device not found.<br />Wether I start with Intel or nVidia.<br />But this little piece of code does work on a standard workstation with GeForce 9600 and intel E8400.<br /><br />So I mainly want to ask if there is someone around with a optimus PC that can call this function and have a "nvapi_ok" returned ?]]></description>
   </item>
      <item>
      <title>Vertex buffer objects and host memory allocation</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6486/vertex-buffer-objects-and-host-memory-allocation</link>
      <pubDate>Wed, 28 Mar 2012 03:30:21 -0400</pubDate>
      <dc:creator>c_gerlach</dc:creator>
      <guid isPermaLink="false">6486@/devforum/discussions</guid>
      <description><![CDATA[Hello,<br /><br />I'm currently working on a render engine and therefore I use (static) vertex buffer objects to store the geometry in the gpu. It happens that the geometry can be very big and therefore I am concerned about the memory footprint of the application. That's why I hoped that using static VBOs gives me back some host memory.<br /><br />As the application runs on windows and linux I used the taskmanager and top to take a look on the allocated memory before and after VBO creation. After creating the VBO the scene is rendered multiple times to convince the driver that it is a really good idea the keep the data in the gpu.<br /><br />On Windows the reported memory in the task manager dropped to an amount, which seems reasonable for the application - without the geometry data.<br /><br />On Linux top did not show any real change (just a drop of some MBs).<br /><br />So here's the question(s):<br />* Does the driver keep a copy of the VBO?<br />* Is there anything I can do to take better control of the VBO placement?<br />* Why do windows and linux show different behaviours in this case?<br /><br />Thanks in advance.]]></description>
   </item>
      <item>
      <title>Sharing numerous small buffer objects between OpenGL and OpenCL-- driver issue or user issue?</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6466/sharing-numerous-small-buffer-objects-between-opengl-and-opencl-driver-issue-or-user-issue</link>
      <pubDate>Tue, 27 Mar 2012 20:43:12 -0400</pubDate>
      <dc:creator>escorelle</dc:creator>
      <guid isPermaLink="false">6466@/devforum/discussions</guid>
      <description><![CDATA[I was writing some test code for an application which included allocating a lot of small buffers and sharing them with OpenCL.  I noticed that after about 3000 shares, I would get errors for the next few hundred, and then everything would be fine afterwards.  I'm going to put a work around in place, but was wondering what was going on.  The following code (context initialization omitted) shows the issue:<br /><br /><br />	std::vector&lt; unsigned &gt; vbos;<br /><br />	for( int i = 0; i &lt; 5000; ++i )<br />	{<br />		unsigned vbo = 0;<br />		glGenBuffers( 1, &amp;vbo );<br />		vbos.push_back( vbo );<br /><br />		glBindBuffer( GL_ARRAY_BUFFER, vbo );<br />		glBufferData( GL_ARRAY_BUFFER, 355 * sizeof( float ) * 4, 0, GL_STATIC_DRAW );<br />		glBindBuffer( GL_ARRAY_BUFFER, 0 );<br /><br />		cl_mem sharedObject = 0; <br /><br />		cl_int clError = 0;<br />		sharedObject = clCreateFromGLBuffer( context_, CL_MEM_READ_WRITE, vbo, &amp;clError );<br /><br />		if( clError != CL_SUCCESS )<br />		{<br />			std::cout &lt;&lt; "Error creating GL Interop Buffer." &lt;&lt; std::endl;<br />		}<br /><br />		if( sharedObject )<br />		{<br />			clReleaseMemObject( sharedObject );<br />		}<br /><br />	    clFinish( queue_ );<br />	}<br /><br />	glDeleteBuffers( vbos.size(), &amp;vbos[0] );<br /><br />Card: nVidia GeForce GTX 260M<br />Driver: 286.16]]></description>
   </item>
      <item>
      <title>How to use choose specific GPU device on linux for opengl?</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6446/how-to-use-choose-specific-gpu-device-on-linux-for-opengl</link>
      <pubDate>Tue, 27 Mar 2012 11:25:49 -0400</pubDate>
      <dc:creator>hangdou</dc:creator>
      <guid isPermaLink="false">6446@/devforum/discussions</guid>
      <description><![CDATA[Hi, I am working on a machine with two GTX 580 with one monitor. <br />1. It is said that OpenGL will only choose the graphic card connecting to the monitor even with two graphic cards. Will OpenGL makes use of two cards if I use two monitors and improves the performance? <br />2. How could I choose a specific device on linux for OpenGL with NVIDIA card? Someone told me we can only do this on windows. Is that true?<br /><br />Any hint will help. Thanks.]]></description>
   </item>
      <item>
      <title>OpenGL with multi-device</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6371/opengl-with-multi-device</link>
      <pubDate>Mon, 26 Mar 2012 09:57:42 -0400</pubDate>
      <dc:creator>micfort</dc:creator>
      <guid isPermaLink="false">6371@/devforum/discussions</guid>
      <description><![CDATA[hey,<br /><br />I want to generate an image with a GTX295, it has a 2 GPU's that i want to use.<br />Now my thought was that i generate the first half of the image with the first gpu and the second half with the second gpu. and finnaly I want to show it on a OpenGL screen.<br />With only 1 gpu it completely works. Only if use 2 gpu's, there isn't anything running on the second gpu. I have tested this with Nsight. Also in nsight I can check wat error the runtime API are returning and that's only an unkown error. Has anyone an idea what the problem can be?]]></description>
   </item>
      <item>
      <title>glFramebufferTexture detach</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6266/glframebuffertexture-detach</link>
      <pubDate>Fri, 23 Mar 2012 06:31:21 -0400</pubDate>
      <dc:creator>Ambator</dc:creator>
      <guid isPermaLink="false">6266@/devforum/discussions</guid>
      <description><![CDATA[Hello,<br /><br />NVidia drivers do not allow to detach a texture from a framebuffer via glFramebufferTexture However, glFramebufferTextureLayer, glFramebufferTexture2D, glFramebufferRenderbuffer, ... seem to work.<br />I guess this question already popped up a few times, but it seems that it's not fixed. Or do I miss some intention in that behavior? Spec says glFramebufferTexture* with texture 0 should detach any bound texture.<br /><br />Best]]></description>
   </item>
      <item>
      <title>nsight debug session of opengl application missing extensions</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6006/nsight-debug-session-of-opengl-application-missing-extensions</link>
      <pubDate>Fri, 16 Mar 2012 07:03:06 -0400</pubDate>
      <dc:creator>phpfreaked9</dc:creator>
      <guid isPermaLink="false">6006@/devforum/discussions</guid>
      <description><![CDATA[I have an opengl application which I would like to profile with Nsight, during my debug section I noticed, that a lot of extensions are not initialized. For the initialization I use glew and the application works w/o nsight attached. Examples of extensions that remain uninitialized are frame-buffer.<br /><br />I have reinstalled the latest drivers, disabled WDDM TDR. The monitor states it has been properly configured for debugging. However the issue persists. Could anybody lend me a hand with this?  <br /><br />]]></description>
   </item>
      <item>
      <title>Getting into CgFX and fx composer</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/6066/getting-into-cgfx-and-fx-composer</link>
      <pubDate>Sun, 18 Mar 2012 09:57:07 -0400</pubDate>
      <dc:creator>terjeloe</dc:creator>
      <guid isPermaLink="false">6066@/devforum/discussions</guid>
      <description><![CDATA[Hi,<br /><br />I'm getting into shaders and using CG with CgFX and fx composer 2.5. I've written a basic shader that compiles with no warnings, but when I apply it to a teapot object, rendering with directx9/10 I only see a wireframe mesh?  With the default effect its fine though.<br /><br />If I render my effect with OpenGL the object becomes black and it show up black in the material preview. The default effect is also black in the material preview, but if I apply it to the teapot it renders it fine.<br /><br />My program have code fore transforming the object aswell.. how do I get fx composer to send the viewPerspective matrix from the camera and the model matrix so I can test that my transformations are right?<br /><br /><code><br />void mainVS(float4 position : POSITION,<br />			float3 normal 	: NORMAL,<br />			float2 texCoord	: TEXCOORD0,<br /><br />			out float4 oPosition : POSITION,<br />			out float2 oTexCoord : TEXCOORD0,<br />			uniform float4x4 viewProjection,<br />			uniform float4x4 world)<br />{<br />	oPosition = mul(world, position); <br />	oPosition = mul(viewProjection, position);<br />}<br /><br />void mainFS(float2 texCoord	: TEXCOORD0,<br />			out float4 color 	: COLOR,<br />			uniform sampler2D texSampler)<br />{<br />	color = tex2D(texSampler, texCoord);<br />}<br /><br /><br />float4x4 world : World;<br />float4x4 viewProjection : ViewProjection;<br /><br />sampler2D texSampler = sampler_state<br />{<br />	generateMipMap = true;<br />	minFilter = LinearMipMapLinear;<br />	magFilter = Linear;<br />};<br /><br />technique basic_textured<br />{<br />	pass<br />	{<br />		FragmentProgram = compile fp40 mainFS(texSampler);<br />		VertexProgram = compile vp40 mainVS(viewProjection, world);<br />	}<br />}<br /></code>]]></description>
   </item>
      <item>
      <title>GPU Deinterlacing</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/5996/gpu-deinterlacing</link>
      <pubDate>Fri, 16 Mar 2012 04:40:39 -0400</pubDate>
      <dc:creator>ronag89</dc:creator>
      <guid isPermaLink="false">5996@/devforum/discussions</guid>
      <description><![CDATA[I have an application that does video processing such as color transforms, scaling and translations using OpenGL. I'm mostly working with packed BGRA (1xGL_BGRA) or planar YUVA (4xGL_R) video, i.e. including alpha.<br /><br />Now I would also like to do some high quality deinterlacing. I've noticed that Nvidia supports high quality hardware accelerated de-interlacing through the "PureVideo" functionality. Basically what i'd like to do is to send in a interlaced OpenGL texture with x number of color channels and get out two progressive textures.<br /><br />My question is how do I access this functionality easiest, and most efficiently (possibly in interop with OpenGL)?<br /><br />I've been looking at DXVA and OpenMax, but both seem rather focused on playback (not deinterlace processing, i.e. non-relevant options such as frame-rate needs to be set etc...) and limited alpha support...]]></description>
   </item>
      <item>
      <title>Problem with Cg 3.1 and GeometryShaders</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/5696/problem-with-cg-3-1-and-geometryshaders</link>
      <pubDate>Fri, 09 Mar 2012 04:21:49 -0500</pubDate>
      <dc:creator>Rick16bit</dc:creator>
      <guid isPermaLink="false">5696@/devforum/discussions</guid>
      <description><![CDATA[Just upgraded from Cg 3.0 to 3.1 for my OpenGL game. Everything still works, except 1 important thing... I get "invalid item" crashes when I use a geometry program. If I simply disable this line<br /><strong>cgGLBindProgram( myGeomProg );</strong><br />The program works again. Thus that means I can compile/load geometryPrograms and enable the profile. Just binding the program makes things crash.<br /><br />For the info, the profile is set on CG_PROFILE_GPU_VP/FP/GP  (getLatestProfiel).<br />Furthermore, using OpenGL2.x, windows Vista 32 bit, and a GeForce 9800M GTS. ]]></description>
   </item>
      <item>
      <title>Error in OptiX: create buffer from gl buffer object</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/5666/error-in-optix-create-buffer-from-gl-buffer-object</link>
      <pubDate>Thu, 08 Mar 2012 17:57:24 -0500</pubDate>
      <dc:creator>hangdou</dc:creator>
      <guid isPermaLink="false">5666@/devforum/discussions</guid>
      <description><![CDATA[I tried to use rtBufferCreateFromGLBO and rtTextureSamplerCreateFromGLImage but I keep get return value of -1 which does not belong to any RTResult mentioned in OptiX API reference. I am using 64 bit xubuntu with two GTX 550 Ti cards, glew 1.7.0, OptiX 2.5.0 and CUDA 4.0. Below is a piece of code on buffer create. Anyone can help? Thanks.<br /><br />	GLuint testBufGL;<br />	glGenBuffers(1, &amp;testBufGL);<br />	glBindBuffer(GL_ARRAY_BUFFER, testBufGL);  	<br />	glBufferData(GL_ARRAY_BUFFER, (GLsizeiptr)sizeof(float)*screenWidth*screenHeight, NULL, GL_STATIC_DRAW);<br />  	glBindBuffer(GL_ARRAY_BUFFER, 0);<br />  		<br />	RTbuffer testBuf;<br />	int error = rtBufferCreateFromGLBO( device_0.context-&gt;GetContextID(), RT_BUFFER_INPUT, testBufGL, &amp;testBuf);<br />	printf("\nINVALID_CONTEXT is: %d,the MEMORY_ALLOCATION_FAILED is: %d\n", RT_ERROR_INVALID_CONTEXT, RT_ERROR_MEMORY_ALLOCATION_FAILED);<br />	printf("\nINVALID_VALUE is: %d, the SUCCESS is %d, the error is: %d\n\n", RT_ERROR_INVALID_VALUE, RT_SUCCESS, error);]]></description>
   </item>
      <item>
      <title>(code updated)Optix Error:&quot;rtTextureSamplerCreateFromGLImage&quot; keeps returning RT_ERROR_INVALID_VALUE</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/5606/code-updatedoptix-errorrttexturesamplercreatefromglimage-keeps-returning-rt_error_invalid_value</link>
      <pubDate>Wed, 07 Mar 2012 18:58:56 -0500</pubDate>
      <dc:creator>hangdou</dc:creator>
      <guid isPermaLink="false">5606@/devforum/discussions</guid>
      <description><![CDATA[Hello, I try to use rtTextureSamplerCreateFromGLImage(rtTextureSamplerCreateFromGLImage(context, gl_id, target, sampler), but it keeps returning invalid. <br />The context id is valid. The gl_id refers to a texture of "GL_TEXTURE_2D, GL_R32F, GL_RED, GL_FLOAT". I have spent long time on this but still can not fix it. Anyone can help? Thanks a lot.]]></description>
   </item>
      <item>
      <title>What tools are available for debugging and profiling OpenGL apps in linux?</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/5661/what-tools-are-available-for-debugging-and-profiling-opengl-apps-in-linux</link>
      <pubDate>Thu, 08 Mar 2012 14:55:50 -0500</pubDate>
      <dc:creator>xenmax</dc:creator>
      <guid isPermaLink="false">5661@/devforum/discussions</guid>
      <description><![CDATA[The NVPerfKit seems to be no longer available for Linux. It's hard to optimize or debug an GPU-based application without knowing whats going on in the GPU.<br /><br />There is no way of accesing Driver/GPU performance counters or GPU signals on Linux?<br />There is no way of getting some debugging information from the Driver?<br /><br />What NVidia tools are available for debugging or profiling OpenGL apps in linux?<br />]]></description>
   </item>
      <item>
      <title>cgc / glslf profile error</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/3111/cgc-glslf-profile-error</link>
      <pubDate>Thu, 05 Jan 2012 16:30:16 -0500</pubDate>
      <dc:creator>Scott MacHaffie</dc:creator>
      <guid isPermaLink="false">3111@/devforum/discussions</guid>
      <description><![CDATA[Compiling the following fragment shader with cgc using the glslf profile produces fatal error C9999: exception during compilation.<br /><br />Should this work? What am I doing wrong?<br /><br />Fragment shader:<br /><code><br /><a href="/devforum/search?Search=%23version&amp;Mode=like">#version</a> 120<br /><br />void main(void)<br />{<br />    vec2 zw = gl_ProjectionMatrix[3].zw;<br />    float z = gl_ProjectionMatrix[3].z;<br />}<br /></code><br /><br />This code is cut down from a larger example. I get the exception with either or both of the vec2 and float lines in there. If they are both commented out, no exceptions.]]></description>
   </item>
      <item>
      <title>How to add a new Application Profile to the driver database</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/1811/how-to-add-a-new-application-profile-to-the-driver-database</link>
      <pubDate>Thu, 24 Nov 2011 04:50:51 -0500</pubDate>
      <dc:creator>Gordon Mueller</dc:creator>
      <guid isPermaLink="false">1811@/devforum/discussions</guid>
      <description><![CDATA[Hi,<br /><br />my company is shipping a 3d (windows) application to thousands of customers (we use OpenGL). With the release of Optimus systems we often see the need  to explain customers the setting in "NVIDIA Control Panel &gt; 3D Settings &gt; Manage 3D Settings &gt; Global Settings &gt; Preferred Graphics Processor and selected High-performance NVIDIA processor" to get our exe run.<br /><br />It would be ideal if our application was listet in the NVidia data base. Is there a way to achieve this? Alternatively, we could possibly use the NVAPI. What's the preferred way?<br /><br />Kind regards.]]></description>
   </item>
      <item>
      <title>glUnmapBuffer while keeping glMapBuffer memory valid as read-only?</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/4941/glunmapbuffer-while-keeping-glmapbuffer-memory-valid-as-read-only</link>
      <pubDate>Mon, 20 Feb 2012 16:07:19 -0500</pubDate>
      <dc:creator>ronag89</dc:creator>
      <guid isPermaLink="false">4941@/devforum/discussions</guid>
      <description><![CDATA[Is it possible to glUnmapBuffer a GL_STREAM_DRAW pixel-buffer-object and still keep the data pointed to by the pointer returned previously by glMapBuffer valid for read-only operations using SSE 4.1 streaming loads?<br /><br />Basically what I want to do is to write to memory once and then upload it to the GPU (without an intermediate memcpy), while still being able to read the original source on the CPU.<br /><br />Any Nvidia specific solution is fine. Including CUDA interop. Preferably it should work on Geforce cards, but Quadro specific solutions are also appreciated.<br /><br />Are there any other other solutions that would allow host-&gt;device transfers without intermediate copies while keeping the host memory, similar to AMD_pinned_memory?]]></description>
   </item>
      <item>
      <title>GLSL version problem</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/5166/glsl-version-problem</link>
      <pubDate>Sun, 26 Feb 2012 17:39:32 -0500</pubDate>
      <dc:creator>Mokka</dc:creator>
      <guid isPermaLink="false">5166@/devforum/discussions</guid>
      <description><![CDATA[Hi,<br /><br />I have a bit of a problem with GLSL.<br />I am using an "NVIDIA GeForce GTX 280M" on my Laptop.<br />This card should support OpenGL 3.3 and therefore GLSL 3.3.<br />GPU Caps viewer (<a href="http://www.ozone3d.net/gpu_caps_viewer/">http://www.ozone3d.net/gpu_caps_viewer/</a>) tells me that indeed the GPU has those capabilities.<br /><br />Now when I set up my OpenGL program and try to run this snipped of code:<br /><br /><code>const char* vertexShaderSource =<br />"#version 330\n"<br />"void main()\n"<br />"{\n"<br />"   gl_Position = gl_Vertex;\n"<br />"}\0";</code><br /><br />I get a "GL_INVALID_OPERATION" error. Only setting the version to "1.3" (130) helps.<br />I initially thought this may have something to do with my GL context creation. At first I used Qt 4.8.0 and let it handle everything. Then I tried GLUT 3.7.6. In both cases I get the same OpenGL error.<br />Also in both cases I get "3.30 NVIDIA via Cg compiler" when using <code>glGetString(GL_SHADING_LANGUAGE_VERSION)</code>.<br /><br />Additional info:<br />I am using:<br />- GLEW<br />- Windows 7, 64 Bit<br />- NVidia driver ver. 295.73<br /><br />Thanks.]]></description>
   </item>
      <item>
      <title>How to specify gpu device using optix</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/5006/how-to-specify-gpu-device-using-optix</link>
      <pubDate>Wed, 22 Feb 2012 15:47:59 -0500</pubDate>
      <dc:creator>hangdou</dc:creator>
      <guid isPermaLink="false">5006@/devforum/discussions</guid>
      <description><![CDATA[Hello, I am working on a project whichlay  needs me to put render two data sets on two GPUs separately using OptiX. Finally I can display arbitrary rendering result on the screen. <br />I do not know anything about mulit-gpu for OptiX and do not know where to start. Any clue will help. Thanks a lot. <br />Sincerely~]]></description>
   </item>
      <item>
      <title>OpenGL 4.0 on Linux</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/4856/opengl-4-0-on-linux</link>
      <pubDate>Sat, 18 Feb 2012 19:38:23 -0500</pubDate>
      <dc:creator>gobien</dc:creator>
      <guid isPermaLink="false">4856@/devforum/discussions</guid>
      <description><![CDATA[hi, i'm new to the graphic programming.<br />i've made some experiments with the mesa implementation.<br />i have a notebook with two graphic cards.<br />the discrete one is 450M 2GB.<br />on the nvidia site i read that it supports opengl 4.0,<br />then, i would write something with opengl 4.0.<br />when installing nvidia proprietary drivers (in both manners: distro package - *.run file)<br />an error occurs in xserver configuration i think.<br />but where are the opengl headers? how can i write opengl 4.0 programs?]]></description>
   </item>
      <item>
      <title>Error Code 8 : Opengl Driver lost connection with Display Driver.</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/4816/error-code-8-opengl-driver-lost-connection-with-display-driver-</link>
      <pubDate>Fri, 17 Feb 2012 15:57:34 -0500</pubDate>
      <dc:creator>MrGreen</dc:creator>
      <guid isPermaLink="false">4816@/devforum/discussions</guid>
      <description><![CDATA[I'm running Quadro NVS 295 on Window 7 64 bit and I'm getting this error when rendering volumetric data. I've been at many different forum sites and have notice a lot of others reporting this same error but with different graphics cards. Most seem to imply that this is a driver issue, however, updating does not help. Anyone have a solution or work around.]]></description>
   </item>
      <item>
      <title>CG Max Instruction issue or bug</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/3966/cg-max-instruction-issue-or-bug</link>
      <pubDate>Wed, 25 Jan 2012 16:19:20 -0500</pubDate>
      <dc:creator>djethernet</dc:creator>
      <guid isPermaLink="false">3966@/devforum/discussions</guid>
      <description><![CDATA[I reproduced the issue in the vanilla Nvidia CG example.<br /><br />The CG max instruction seems to generate unexpected gl assembler code for valid change to the C5E7_light_attenuation.cg  (OpenGL_Basic_2008 project CG Febuary 2011 ) <br /><br />the profile it compiles for is "gp4vp"<br /><br /><code><br />float diffuseLight = max(dot(L, N),0); //(A) works <br /><br />float diffuseLight = max(0,dot(L, N)); //(B) does not work (always truncated -zero for this example)<br /><br />float diffuseLight = max(0.0f,dot(L, N)); //(C) works, same code as A<br /><br /></code><br /><br />running the CGC compiler shows that the assembly of  A and C is the same. B generates different code . Based on the generated assembler code having TRUNC placed on the second param in example B. it looks like it's using int max(int a, int b) when cg says it only has a float max(float a, float b) version, also if that's the case then it seems like A would produce the same code as B.<br /><br />compile line is <br /><code><br />cgc -q -profile gp4vp -entry C5E7_attenuateLighting C5E7_attenuateLighting.cg<br /></code>]]></description>
   </item>
      <item>
      <title>Exporting shadows from a software view?</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/4716/exporting-shadows-from-a-software-view</link>
      <pubDate>Tue, 14 Feb 2012 04:18:27 -0500</pubDate>
      <dc:creator>pnavarra</dc:creator>
      <guid isPermaLink="false">4716@/devforum/discussions</guid>
      <description><![CDATA[Hi,<br />Here, we are using Autodesk Revit Architecture.<br />We got 3D models and view from the buildings with Shadows or not.<br />Revit can export my views to Autocad. Do you think it could be possible to export shadows generated by the graphic card?<br /><br />Thx]]></description>
   </item>
      <item>
      <title>What&#039;s the best way to implement stereo projection in openGL using GLSL?</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/4631/whats-the-best-way-to-implement-stereo-projection-in-opengl-using-glsl</link>
      <pubDate>Sun, 12 Feb 2012 13:37:42 -0500</pubDate>
      <dc:creator>DharmaSoldat</dc:creator>
      <guid isPermaLink="false">4631@/devforum/discussions</guid>
      <description><![CDATA[Hi Guys,<br /><br />I've started mucking around with GLSL (4.2) and have managed to put together a perspective projection that looks good in my vertex shader.<br /><br />What I'm wondering is what is the best way to alter the perspective projection I have now to achieve a left and right eye asymmetric frustrum for stereo viewing?<br /><br />If there are on-site resources I'm missing or if someone could point me in the direction of a good tutorial, that'd be splendid.<br /><br />If anyone wants to see my code, I can post it up if it'd help - it's not exactly NDA stuff.<br /><br />Cheers!]]></description>
   </item>
      <item>
      <title>OpenGL RGB10_A2, Quadro 4000, and DeepColor/10-bit displays Windowed 30-bit OpenGL mode</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/1251/opengl-rgb10_a2-quadro-4000-and-deepcolor10-bit-displays-windowed-30-bit-opengl-mode</link>
      <pubDate>Fri, 04 Nov 2011 09:27:18 -0400</pubDate>
      <dc:creator>thorrablot</dc:creator>
      <guid isPermaLink="false">1251@/devforum/discussions</guid>
      <description><![CDATA[I have an OpenGL application (Windows 7) that creates multiple OpenGL RGB10_A2 GCs/viewports (non-full screen application).<br /><br />I recently tried the same with a Quadro 4000 to both a Dell U3011 (DeepColor via DP) and NDS Dome E2 (10-bit grayscale via DVI), and although the application acquires the visuals OK, both displays "flash" black for a moment for each RGB10_A2 GC I create (which can be dozens). This is very disruptive, and doesn't occur when using ATI FirePro hardware. I will soon be evaluating a Quadro 2000D on Windows 7, and I suspect it will exhibit the same problem.<br /><br />The "flash", I suspect, is the driver and display negotiating some new scanout settings based on the acquisition of each on-screen RGB10_A2 framebuffer. I haven't been able to find any settings in the NVidia control panel that seem relevant to tuning this behavior (e.g. "30-bit desktop mode")<br /><br />This is the mode that is described in the NVidia <a href="http://www.nvidia.com/docs/IO/40049/TB-04701-001_v02_new.pdf">30-Bit Color Technology for NVIDIA Quadro</a> tech brief, and is documented as suitable for OpenGL windowed applications, however this flashing behavior is clearly not acceptable for a production application.<br /><br />Has anyone encountered and resolved this issue? ]]></description>
   </item>
      <item>
      <title>where&#039;s the link for &quot;NVIDIA Graphics SDK 11&quot; for OpenGL</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/3671/wheres-the-link-for-nvidia-graphics-sdk-11-for-opengl</link>
      <pubDate>Wed, 18 Jan 2012 18:58:36 -0500</pubDate>
      <dc:creator>ucm</dc:creator>
      <guid isPermaLink="false">3671@/devforum/discussions</guid>
      <description><![CDATA[<a href="http://developer.nvidia.com/nvidia-graphics-sdk-11">http://developer.nvidia.com/nvidia-graphics-sdk-11</a><br /><br />""<br />We are proud to offer the NVIDIA Graphics SDK 11 in two versions, one supporting Direct3D, the other supporting OpenGL<br />""<br /><br />I see the link to D3D11 but where's the link for "NVIDIA Graphics SDK 11" for OpenGL ?]]></description>
   </item>
      <item>
      <title>PerfHud support for GTX560</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/901/perfhud-support-for-gtx560</link>
      <pubDate>Mon, 10 Oct 2011 06:25:07 -0400</pubDate>
      <dc:creator>edoreshef</dc:creator>
      <guid isPermaLink="false">901@/devforum/discussions</guid>
      <description><![CDATA[Hello,<br />I would like to know if the latest version of PerfHud supports OpenGL in a GTX 560 card?<br />I'm trying to make it work, but I keep on getting this "<strong>Failed to Initialize NVIDIA PerfSDK</strong>" message.<br /><br />Regards,<br />edoreshef<br />]]></description>
   </item>
      <item>
      <title>mutitexturing in nvidia cg</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/4186/mutitexturing-in-nvidia-cg</link>
      <pubDate>Tue, 31 Jan 2012 18:26:00 -0500</pubDate>
      <dc:creator>siddharthuniv</dc:creator>
      <guid isPermaLink="false">4186@/devforum/discussions</guid>
      <description><![CDATA[hi guys,<br /><br />I need some clarifications with regards to multitexturing with nvidia cg and opengl. I figure that there are two ways of doing this. <br /><br />One way is to bind each texture object with activating each texture units using glactivetexture(TEXTURE0+i) and specifying the texture unit as a semantic in cg code. <br /><br />The otherway is to let cg do automatic texture unit handling. I.e, enable the texture parameter using cgGLEnableTextureParameter().Looking at its docs, tells that the texture object for the texture parameter is enable for its texture unit. How does cg automatically determine the texture unit for the texture object? Is it the order in which the samplers are defined(input parameters) in the cg code? For example, i have multiple 1D and 2D textures that i would like to use, but i am also interested in cg's way of handling texture units where you dont need to specify the texture units explicitly in cg code.<br /><br />Any insight is very much appreciated.<br /><br />thanks<br />]]></description>
   </item>
      <item>
      <title>GLSL internal error with loop unrolling</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/4061/glsl-internal-error-with-loop-unrolling</link>
      <pubDate>Fri, 27 Jan 2012 10:06:18 -0500</pubDate>
      <dc:creator>GMc</dc:creator>
      <guid isPermaLink="false">4061@/devforum/discussions</guid>
      <description><![CDATA[I have discovered what appears to be problems with the compiler translating glsl into asm. In my example a loop (see code below) of 3 iterations is fine, 4 iterations produces an internal error<br /><br />I am running on a Windows 7 64bit system with a Geforce GTX 560ti, using OpenGL 4 and GLSL 4.1 (driver version 285.62 - which is the latest)<br /><br /><br /><br /><strong>Vertex Shader</strong><br /><code><br /><a href="/devforum/search?Search=%23version&amp;Mode=like">#version</a> 410<br /><br />in vec3			g_VertexViewPos;<br /><br />void main(void)<br />{<br />	gl_Position = vec4(g_VertexViewPos.xyz, 1.0);<br />}<br /></code><br /><br /><strong>Fragment Shader</strong><br /><code><a href="/devforum/search?Search=%23version&amp;Mode=like">#version</a> 410<br /><br />uniform sampler2DArray	g_inLayers[ 8 ];	<br />out vec4		g_PixColour;<br /><br />void main(void)<br />{	<br />	ivec3	iTextureSize= textureSize(g_inLayers[ 0 ],0);<br />	ivec3	iCoords	= ivec3(int(gl_FragCoord.x),int(gl_FragCoord.y),0);<br />	vec3	hackV	= vec3(gl_FragCoord.x / iTextureSize.x, gl_FragCoord.y / iTextureSize.y,0);<br /><br />	vec4 colour = vec4(0.,0.,0.,0.);<br />	for (int i=0; i&lt;4; ++i)<br />	{<br />		vec4 cur = vec4(0.,0.,0.,0.);<br />		if ( i &lt; 3 )<br />		{<br />			cur = texelFetch(g_inLayers[ i ], iCoords, 3);<br />		}<br />		else<br />		{<br />			cur = textureLod(g_inLayers[ 0 ], hackV, 3.0) ;<br />		}<br /><br />		float alpha = cur.a + colour.a;<br />		if( alpha &gt; 1. )<br />		{<br />			cur.a -= alpha - 1.; //a<br />			colour += cur;<br />		}<br />	}<br />	g_PixColour = vec4(1.,0.,0.,1.);<br />}</code><br /><br />The link produces the errror<br /><br />Fragment info<br />-------------<br />Internal error: assembly compile error for fragment shader at offset 947:<br />-- error message --<br />line 27, column 9:  error: redeclared identifier<br /><br /><br /><br />Followed by the asm listing... <br /><br />I have compared the asm from 3 loops which works to the asm produced above and it looks to me like  when the shader requires 4 loops the asm defines an extra array variable with a duplicate name<br /><br /><code><br />TEXTURE texture0 = texture[0];<br />TEXTURE texture0[] = { texture[0..7] };</code><br /><br /><br /><br />This extra variable doesn't get generated if the shader line marked //a in the listing above is removed but it will happen again when the loop iterations are increased to 5<br /><br />I am not sure how to use modified asm via OpenGL/GLSL. Anyone know?<br /><br />Worth raising as a bug?<br /><br /><br />]]></description>
   </item>
      <item>
      <title>OpenGL 3.3 Sampler Objects with CG Fragment Shader</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/3786/opengl-3-3-sampler-objects-with-cg-fragment-shader</link>
      <pubDate>Sat, 21 Jan 2012 22:08:08 -0500</pubDate>
      <dc:creator>atuyo60</dc:creator>
      <guid isPermaLink="false">3786@/devforum/discussions</guid>
      <description><![CDATA[Hi, I have been trying to get my CG fragment shader working with the sampler objects introduced in OpenGL 3.3 but the shader does not seem to be associating my OpenGL sampler with the texture unit.<br /><br />I generate my sampler during initialisation as follows<br /><code>GLuint glsampler = 0;<br />glGenSamplers (1, &amp;glsampler);<br />glSamplerParameteri (glsampler, GL_TEXTURE_WRAP_S, GL_REPEAT);<br />glSamplerParameteri (glsampler, GL_TEXTURE_WRAP_T, GL_REPEAT);<br />glSamplerParameteri (glsampler, GL_TEXTURE_MAG_FILTER, GL_NEAREST);<br />glSamplerParameteri (glsampler, GL_TEXTURE_MIN_FILTER, GL_NEAREST);<br /></code><br />I have tried using cgGLSetTextureParameter and cgGLEnableTextureParameter as well but they do not work and my understanding is that if I do not set these and if I just call glBindTexture(GL_TEXTURE_2D, gltexture); it will bind to the appropriate uniform sampler2D on my fragment program. In my rendering loop, I followed the OpenGL way of binding my texture to the proper texture image unit:<br /><code>glActiveTexture(GL_TEXTURE0 + 0);<br />glBindTexture(GL_TEXTURE_2D, gltexture);<br />glBindSampler(0, glsampler);<br /></code><br />My fragment shader is just:<br /><code>struct FragOutput<br />{<br />	float4 color : COLOR0;<br />};<br /><br />void main (float4 color : COLOR0, float2 texcoord : TEXCOORD0, uniform sampler2D decal : TEXUNIT0, out FragOutputoutput)<br />{<br />	output.color = tex2D(decal, texcoord);<br />}<br /></code><br />As seen above I have bounded my uniform sampler2D to TEXUNIT0 hoping that it would read my OpenGL sampler object from the texture unit but it does not and no filtering is done. My initial code did not include TEXUNIT0 semantic and it also failed to work.<br /><br />I have been searching for a solution for 2 days and all I could find were old examples and code for GLSL which I tried porting and did not work. Could someone explain to me how should I be associating OpenGL sampler objects with my shader uniforms so that the appropriate filtering is done? Thank you!]]></description>
   </item>
      <item>
      <title>GL_ARB_debug_output</title>
      <link>http://forums.developer.nvidia.com/devforum/discussion/3706/gl_arb_debug_output</link>
      <pubDate>Thu, 19 Jan 2012 12:06:02 -0500</pubDate>
      <dc:creator>[Deleted User]</dc:creator>
      <guid isPermaLink="false">3706@/devforum/discussions</guid>
      <description><![CDATA[<div class="Deleted">The user and all related content has been deleted.</div>]]></description>
   </item>
      </channel>
</rss>
