36f18e5ac5
The sub texture backend doesn't work well as a completely general texture backend because for example when rendering with cogl_polygon it needs to be able to tranform arbitrary texture coordinates without reference to the other coordintes. This can't be done when the texture coordinates are a multiple of one because sometimes the coordinate should represent the left or top edge and sometimes it should represent the bottom or top edge. For example if the s coordinates are 0 and 1 then 1 represents the right edge but if they are 1 and 2 then 1 represents the left edge. Instead the sub-textures are now documented not to support coordinates outside the range [0,1]. The coordinates for the sub-region are now represented as integers as this helps avoid rounding issues. The region can no longer be a super-region of the texture as this simplifies the code quite a lot. There are two new texture virtual functions: transform_quad_coords_to_gl - This transforms two pairs of coordinates representing a quad. It will return FALSE if the coordinates can not be transformed. The sub texture backend uses this to detect coordinates that require repeating which causes cogl-primitives to use manual repeating. ensure_non_quad_rendering - This is used in cogl_polygon and cogl_vertex_buffer to inform the texture backend that transform_quad_to_gl is going to be used. The atlas backend migrates the texture out of the atlas when it hits this. |
||
---|---|---|
.. | ||
ADDING_NEW_TESTS | ||
Makefile.am | ||
test-actor-destroy.c | ||
test-actor-invariants.c | ||
test-actor-size.c | ||
test-anchors.c | ||
test-binding-pool.c | ||
test-clutter-rectangle.c | ||
test-clutter-text.c | ||
test-clutter-units.c | ||
test-cogl-backface-culling.c | ||
test-cogl-blend-strings.c | ||
test-cogl-fixed.c | ||
test-cogl-materials.c | ||
test-cogl-multitexture.c | ||
test-cogl-npot-texture.c | ||
test-cogl-offscreen.c | ||
test-cogl-premult.c | ||
test-cogl-readpixels.c | ||
test-cogl-sub-texture.c | ||
test-cogl-texture-mipmaps.c | ||
test-cogl-vertex-buffer-contiguous.c | ||
test-cogl-vertex-buffer-interleved.c | ||
test-cogl-vertex-buffer-mutability.c | ||
test-cogl-viewport.c | ||
test-color.c | ||
test-conform-common.c | ||
test-conform-common.h | ||
test-conform-main.c | ||
test-group.c | ||
test-launcher.sh | ||
test-model.c | ||
test-paint-opacity.c | ||
test-path.c | ||
test-pick.c | ||
test-script-parser.c | ||
test-text-cache.c | ||
test-texture-fbo.c | ||
test-timeline-interpolate.c | ||
test-timeline-rewind.c | ||
test-timeline.c |