<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>OpenGL Discussion and Help Forums - Suggestions for the next release of OpenGL</title>
		<link>http://www.opengl.org/discussion_boards/</link>
		<description>OpenGL continues to evolve and improve. Here you can offer specific suggestions about what features should be added to future revisions.</description>
		<language>en</language>
		<lastBuildDate>Mon, 20 May 2013 04:44:16 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>http://www.opengl.org/discussion_boards/images/misc/rss.png</url>
			<title>OpenGL Discussion and Help Forums - Suggestions for the next release of OpenGL</title>
			<link>http://www.opengl.org/discussion_boards/</link>
		</image>
		<item>
			<title>glBlendEquationSeparateRGBA</title>
			<link>http://www.opengl.org/discussion_boards/showthread.php/181688-glBlendEquationSeparateRGBA?goto=newpost</link>
			<pubDate>Mon, 13 May 2013 12:06:18 GMT</pubDate>
			<description>Currently, the alpha in color blending has far more flexible roles that the other channels, RGB. This is actually 2 parts: 
 
First part, a new...</description>
			<content:encoded><![CDATA[<div>Currently, the alpha in color blending has far more flexible roles that the other channels, RGB. This is actually 2 parts:<br />
<br />
First part, a new function:<br />
<br />
<div class="bbcode_container">
                <div class="bbcode_description">Code :</div>
                <hr /><code class="bbcode_code"><div class="" style="font-family:monospace;"><pre style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">glBlendFuncSeparateRGBA(
GLenum red_src_factor, GLenum red_dst_factor, 
GLenum green_src_factor, GLenum green_dst_factor, 
GLenum blue_src_factor, GLenum blue_dst_factor, 
GLenum alpha_src_factor, GLenum alpha_dst_factor)</pre></div></code><hr />
</div><br />
which specifies the factors for blending separately for each color channel.<br />
<br />
In addition, a smash of new enumerations for using each of the channels, separately:<br />
<br />
<div class="bbcode_container">
                <div class="bbcode_description">Code :</div>
                <hr /><code class="bbcode_code"><div class="" style="font-family:monospace;"><pre style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">GL_SRC_RED, 
GL_SRC1_RED,
GL_DST_RED,
GL_ONE_MINUS_SRC_RED,
GL_ONE_MINUS_SRC1_RED,
GL_ONE_MINUS_DST_RED,
&nbsp;
and similar ones for GREEN and BLUE.</pre></div></code><hr />
</div><br />
A logical convention for the using current non-alpha factors with the new function would be that to just use the component, for example passing GL_SRC for red_src_factor or red_dest_factor would be same as GL_SRC_RED, and so on.<br />
<br />
Naturally this extends to glBlendFunci as well.</div>

]]></content:encoded>
			<category domain="http://www.opengl.org/discussion_boards/forumdisplay.php/11-Suggestions-for-the-next-release-of-OpenGL">Suggestions for the next release of OpenGL</category>
			<dc:creator>kRogue</dc:creator>
			<guid isPermaLink="true">http://www.opengl.org/discussion_boards/showthread.php/181688-glBlendEquationSeparateRGBA</guid>
		</item>
		<item>
			<title>Cross buffer blend</title>
			<link>http://www.opengl.org/discussion_boards/showthread.php/181686-Cross-buffer-blend?goto=newpost</link>
			<pubDate>Sun, 12 May 2013 22:46:56 GMT</pubDate>
			<description>Currently, the blend operations do not allow to use the current values of color buffer A with color buffer B in an MRT set. For example, lets us...</description>
			<content:encoded><![CDATA[<div>Currently, the blend operations do not allow to use the current values of color buffer A with color buffer B in an MRT set. For example, lets us suppose that there are up to N-color buffers, I would like to add the following enumerations to glBlendFunc :<br />
<br />
 GL_DST_MRTi_COLOR --&gt; coefficient is value in color buffer i<br />
 <br />
and similarly same jazz for GL_ONE_MINUS_DST_MRTi_COLOR, GL_DST_MRTi_ALPHA and GL_ONE_MINUS_DST_MRTi_ALPHA. For example using glBlendFunc(0, GL_DST_MRT1_COLOR, GL_ZERO) and if the MRT0 gets (1,1,1,1) written to it in it's fragment shader, then the values of color buffer 1 are copied to color buffer 0 over the area of the primitive.<br />
<br />
A separate extension would also be for GL_SRC_MRTi_COLOR, and it's relatives, the MRT there so it does not get confused with the current dual blending jazz.<br />
 <br />
I suspect that the current hardware's ROP's are not as flexible, so this is likely a GL5 request.... atleast I am not asking for GL_EXT_framebuffer_fetch :biggrin-new:</div>

]]></content:encoded>
			<category domain="http://www.opengl.org/discussion_boards/forumdisplay.php/11-Suggestions-for-the-next-release-of-OpenGL">Suggestions for the next release of OpenGL</category>
			<dc:creator>kRogue</dc:creator>
			<guid isPermaLink="true">http://www.opengl.org/discussion_boards/showthread.php/181686-Cross-buffer-blend</guid>
		</item>
		<item>
			<title>Freaky gl_FragDepth</title>
			<link>http://www.opengl.org/discussion_boards/showthread.php/181667-Freaky-gl_FragDepth?goto=newpost</link>
			<pubDate>Fri, 10 May 2013 11:42:01 GMT</pubDate>
			<description>This I admit is a peculiar sounding suggestion but I have use cases for it. The basic idea is this: 
 
* depth test is performed with gl_FragCoord.z,...</description>
			<content:encoded><![CDATA[<div>This I admit is a peculiar sounding suggestion but I have use cases for it. The basic idea is this:<br />
<ul><li style="">depth test is performed with gl_FragCoord.z, i.e. the depth value determined from rasterization</li><li style="">BUT the depth value written to the depth buffer is gl_FragDepth</li></ul><br />
<br />
Using this, one can have the depth test as GL_LESS, and yet after a draw, some values of the<br />
depth buffer get larger. I admit that, again, this is odd, but I do have use cases.<br />
<br />
Emulating this behavior with GL_<font color="#000000">ARB_shader_image_load_store by excessive use of memoryBarrier()<br />
</font>is a bad idea, just as what happens in trying to use it to emulate <font color="#000000">GL_EXT_shader_framebuffer_fetch of GLES land.</font></div>

]]></content:encoded>
			<category domain="http://www.opengl.org/discussion_boards/forumdisplay.php/11-Suggestions-for-the-next-release-of-OpenGL">Suggestions for the next release of OpenGL</category>
			<dc:creator>kRogue</dc:creator>
			<guid isPermaLink="true">http://www.opengl.org/discussion_boards/showthread.php/181667-Freaky-gl_FragDepth</guid>
		</item>
		<item>
			<title>glMultiDrawElements + Query</title>
			<link>http://www.opengl.org/discussion_boards/showthread.php/181610-glMultiDrawElements-Query?goto=newpost</link>
			<pubDate>Thu, 02 May 2013 13:57:02 GMT</pubDate>
			<description><![CDATA[Hi, 
 
For hardware query occlusion could be very useful something like this. 
 
<div class="bbcode_container"> 
                <div...]]></description>
			<content:encoded><![CDATA[<div>Hi,<br />
<br />
For hardware query occlusion could be very useful something like this.<br />
<br />
<div class="bbcode_container">
                <div class="bbcode_description">Code :</div>
                <hr /><code class="bbcode_code"><div class="" style="font-family:monospace;"><pre style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">void glMultiDrawElementsQuery( 
GLenum mode,
const GLsizei* count,
GLenum type,
const GLvoid ** indices,
GLsizei primcount
GLenum target,   // The target type of query object
GLuint* id          // A pointer to a array of ids.
);</pre></div></code><hr />
</div><br />
Given a huge VBO and IBO, we need to made a query and a draw call for each geometry chunk we want to check. The new method could dramatically reduce function call overhead compared with the actual way.<br />
<br />
glMultiDrawElementsQuery could have the same effect as:<br />
<div class="bbcode_container">
                <div class="bbcode_description">Code :</div>
                <hr /><code class="bbcode_code"><div class="" style="font-family:monospace;"><pre style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">        for ( int i = 0; i &lt; size; i++)
        {
            glBeginQuery( GL_SAMPLES_PASSED, queries&#91;i&#93; );
            glDrawElements (mode, count&#91;i&#93;, type, offset&#91;i&#93; );
            glEndQuery( GL_SAMPLES_PASSED );
        }</pre></div></code><hr />
</div><br />
Thanks.</div>

]]></content:encoded>
			<category domain="http://www.opengl.org/discussion_boards/forumdisplay.php/11-Suggestions-for-the-next-release-of-OpenGL">Suggestions for the next release of OpenGL</category>
			<dc:creator>icebeat</dc:creator>
			<guid isPermaLink="true">http://www.opengl.org/discussion_boards/showthread.php/181610-glMultiDrawElements-Query</guid>
		</item>
		<item>
			<title>Primitive Restart with a twist</title>
			<link>http://www.opengl.org/discussion_boards/showthread.php/181587-Primitive-Restart-with-a-twist?goto=newpost</link>
			<pubDate>Tue, 30 Apr 2013 08:57:26 GMT</pubDate>
			<description>As of OpenGL 3.x, primitive restart was added where when enabled if a particular user defined index  was encountered, then the primitive creation was...</description>
			<content:encoded><![CDATA[<div>As of OpenGL 3.x, primitive restart was added where when enabled if a particular user defined index  was encountered, then the primitive creation was restarted (the biggest use case being triangle strips). I would like to make augment it as follows:<br />
<br />
<br />
Primitive Restart Index 2 is enabled/disabled GL_PRIMITIVE_RESTART_INDEX_SOME_NICE_NAME when passed to glEnable/glDisable.<br />
<font color="#000000"><span style="font-family: Arial">When enabled, any one of the draw commands which transfers a set of generic attribute array elements to the GL the following will occur when </span></font><font color="#000000"><span style="font-family: Arial">index of the vertex is equal to the primitive restart index</span></font><br />
<ul><li style=""><font color="#000000"><span style="font-family: Arial">will restart the primitive </span></font></li><li style=""><span style="font-family: Arial"><font color="#000000">the index following is NOT an index for an attribute. Rather it specifies the value gl_SomeGoodSoundingName used by any of the shading stages</font></span></li></ul><br />
<span style="font-family: Arial"><font color="#000000"><br />
The initial value of </font></span><font color="#000000"><span style="font-family: Arial">gl_SomeGoodSoundingName is 0 at the start of each draw command. For instancing, the value if reset to zero at the start of each instance.</span></font><span style="font-family: Arial"><font color="#000000"><br />
<br />
</font></span>The idea behind this is that there are a number of cases where an attribute is used as an index into an array. Very often, that index does not change a great deal. With this extension, one does not need to occupy an entire attribute for that index.</div>

]]></content:encoded>
			<category domain="http://www.opengl.org/discussion_boards/forumdisplay.php/11-Suggestions-for-the-next-release-of-OpenGL">Suggestions for the next release of OpenGL</category>
			<dc:creator>kRogue</dc:creator>
			<guid isPermaLink="true">http://www.opengl.org/discussion_boards/showthread.php/181587-Primitive-Restart-with-a-twist</guid>
		</item>
		<item>
			<title>My OGL 4.4/5? suggestions</title>
			<link>http://www.opengl.org/discussion_boards/showthread.php/181580-My-OGL-4-4-5-suggestions?goto=newpost</link>
			<pubDate>Mon, 29 Apr 2013 12:56:52 GMT</pubDate>
			<description>Ok I think this should be standarized in OGL: 
*a comprehensive spec exposing standard way to query support and expose ability to access host mem...</description>
			<content:encoded><![CDATA[<div>Ok I think this should be standarized in OGL:<br />
*a comprehensive spec exposing standard way to query support and expose ability to access host mem (buffers textures) from GPU and/or viceversa unifying INTEL_map_texture AMD_pinned_memory and abusing stream flags NV tricks for ensuring pinned mem..<br />
*portable binaries like OCL is going to expose with SPIR like D3D bytecode..<br />
*a state object extension like NV seems is doing should ARBfied exposing state through objects like D3D does..<br />
*a way to access from one GPU mem from other GPU seems supported on Fermi and up (exposed on CUDA p2p ext) and also on GCN and up at least (AMD_bus_addresable_mem)  <br />
(altough will be useful on consumer GPUs only on Linux or Windows and ATI as on Windows and NV you can't control individual GPUs on consumer cards)<br />
*by last limitation standarize AMD_gpu_association and WGL_NV_affinity and as byproduct exposing to consumer cards?<br />
*in sampler_objects ext we get:<br />
<br />
Should sampler objects be made visible to the shading language.      This is left for a future extension<br />
<br />
It's time to expose this!<br />
for OGL 5:<br />
standarize and expose pointers in GLSL like NV has done for some years now that AMD GCN support seem to support it in HW also Intel for Gen8 next year should have it?<br />
NV seems to be working on a bindless_multidraw_indirect using bindless features<br />
Thanks,</div>

]]></content:encoded>
			<category domain="http://www.opengl.org/discussion_boards/forumdisplay.php/11-Suggestions-for-the-next-release-of-OpenGL">Suggestions for the next release of OpenGL</category>
			<dc:creator>oscarbg</dc:creator>
			<guid isPermaLink="true">http://www.opengl.org/discussion_boards/showthread.php/181580-My-OGL-4-4-5-suggestions</guid>
		</item>
	</channel>
</rss>
