Moar docs, mostly context.

This commit is contained in:
Corbin Simpson
2009-12-20 19:41:50 -08:00
parent 9f936f2001
commit a524aab8ae
7 changed files with 113 additions and 2 deletions

View File

@@ -7,4 +7,75 @@ of the device's 3D rendering pipeline.
Methods
-------
XXX
CSO State
^^^^^^^^^
All CSO state is created, bound, and destroyed, with triplets of methods that
all follow a specific naming scheme. For example, ``create_blend_state``,
``bind_blend_state``, and ``destroy_blend_state``.
CSO objects handled by the context object:
* :ref:`Blend`: ``*_blend_state``
* :ref:`Sampler`: These are special; they can be bound to either vertex or
fragment samplers, and they are bound in groups.
``bind_fragment_sampler_states``, ``bind_vertex_sampler_states``
* :ref:`Rasterizer`: ``*_rasterizer_state``
* :ref:`Depth, Stencil, & Alpha`: ``*_depth_stencil_alpha_state``
* :ref:`Shader`: These have two sets of methods. ``*_fs_state`` is for
fragment shaders, and ``*_vs_state`` is for vertex shaders.
Non-CSO State
^^^^^^^^^^^^^
These pieces of state are too small, variable, and/or trivial to have CSO
objects. They all follow simple, one-method binding calls, e.g.
``set_edgeflags``.
* ``set_edgeflags``
* ``set_blend_color``
* ``set_clip_state``
* ``set_constant_buffer``
* ``set_framebuffer_state``
* ``set_polygon_stipple``
* ``set_scissor_state``
* ``set_viewport_state``
* ``set_fragment_sampler_textures``
* ``set_vertex_sampler_textures``
* ``set_vertex_buffers``
* ``set_vertex_elements``
Queries
^^^^^^^
Queries can be created with ``create_query`` and deleted with
``destroy_query``. To enable a query, use ``begin_query``, and when finished,
use ``end_query`` to stop the query. Finally, ``get_query_result`` is used
to retrieve the results.
VBO Drawing
^^^^^^^^^^^
``draw_arrays``
``draw_elements``
``draw_range_elements``
``flush``
Surface Drawing
^^^^^^^^^^^^^^^
These methods emulate classic blitter controls. They are not guaranteed to be
available; if they are set to NULL, then they are not present.
``surface_fill`` performs a fill operation on a section of a surface.
``surface_copy`` blits a region of a surface to a region of another surface,
provided that both surfaces are the same format. The source and destination
may be the same surface, and overlapping blits are permitted.
``clear`` initializes entire buffers to an RGBA, depth, or stencil value,
depending on the formats of the buffers. Use ``set_framebuffer_state`` to
specify the buffers to clear.