The OpenGL spec does not guarantee sRGB to lRGB conversion happening before filtering, but all recent hardware does it that way. Filtering textures in non-linear color space can give visibly...
Type: Posts; User: Xmas
The OpenGL spec does not guarantee sRGB to lRGB conversion happening before filtering, but all recent hardware does it that way. Filtering textures in non-linear color space can give visibly...
Typically, GPUs calculate 2x2 blocks of fragments in parallel. This is true even if some of those fragments are outside the primitive being drawn, they just get masked before writing to the...
That shader is horrible to read, but I don't think it's anywhere close to instruction or temp limits on any modern PC GPU. It will even "run" on many smartphones.
In the vast majority of FBO usage cases you don't need to keep depth/stencil or multisample data around. Discarding the contents of these attachments should become a matter of course.
If someone...
And why is using a NULL pointer for texture image data not enough?
I'd disagree that your suggestion is a better way for the common use case of discarding render targets.
I was just explaining to Alfonse why it makes sense to discard FBO attachments instead of images.
Tile based renderers are not limited to OpenGL ES. ;)
The main purpose of the EXT_discard_framebuffer extension is to avoid unnecessary data copies on tile based renderers, especially writing out depth, stencil, or multisample data to external memory...
You should render the near objects first unless they require blending. Use glDepthRange to map your near and far objects to distinct ranges of depth buffer values, don't clear the depth buffer in...
Probably convergence with OpenGL ES. An OpenGL 3.3 implementation may return the name with or without "[0]" appended, OpenGL ES 2.0 requires returning the long variant.
Actually, that's not quite true (even though it's what most implementations do):
640/480 is 1. What you want is 640.0/480.0.
- Precision qualifiers were added to GLSL 1.30 to aid portability.
- Some GLES2 commands are more restricted than their GL counterparts, but that doesn't really make it harder to write portable...
Sounds like flat shading to me.
glShadeModel(GL_FLAT);
If you write code on a conformant implementation it might fail on a restricted one.
And if, as you say, people don't read specs they won't care much which implementation is conformant. It only...
Being too restricted means that code written against (the spec/a conformant implementation) will break. The situation is pretty much identical.
The return type of texel fetch function depends on the sampler type used. It is float when using a shadow sampler type.
That's a pretty bad description as ES2.0 is not backwards compatible to ES1.1. The fixed function pipeline is gone, among other things, while more than GLSL was added.
No, it isn't. If clip space W is negative the vertex should be clipped.
For depth textures you need to check whether OES_depth_texture is supported on the target platform. Note that type has to be GL_UNSIGNED_SHORT or GL_UNSIGNED_INT.
That's not quite correct. GLSL ES 1.00 does not mandate non-const loop bounds, but they're not disallowed either. They should in fact be supported on the iPad. The same is true for arbitrary array...
He's talking about shadow mapping. The depth comparison should generally give the same result in either space. Though I suppose he means eye space, not world space.
Except there should never be a need to use less efficient means with instancing.
This is an excellent example of how the intention behind a carefully worded technical document can be lost in the ambiguity of English.[/QUOTE]
The meaning of terms like "should not" and "must not"...
The spec says "should not" instead of "must not", though. You can always run out of memory, after all. And if the hardware supports "large enough" shaders (e.g. 32-bit instruction pointer) and...
1. A handle.
2. It probably works, but the spec doesn't make any guarantees.
3. Yes.