1** If we could change the fragment location by explicitly specifying new screen coordinates or relative to its original location.
relocateFrag(int x, int y)
relocateFragRelative(int dx, int dy)
2** If we could control size of the fragment by specifying a scale/zoom factor in the fragment shader:
scaleFrag(float scaleFactor, int scaleMode, int antialiasingMode)
scaleMode specifies the shape of the pixels generated (circle, square, triangle...)
antialiasingMode specifies how the generated pixels are to be blended.
3** If we could read a fragment color at a given location in fragment shader:
readFrag()
readFrag(int x, int y)
readFragRelative(int dx, int dy)
OpenGL 5.0? Which is coming soon.![]()



, things that are not yet in because of incapable hardware structure or performance issues. The idea is to lead hardware by designing for the future and be proactive before someone else bring this feature in their API and claim victory, then OpenGL has to follow the same path after years. 