From 1425a0dc73f7fa37612b7a82f090e9b10ddebf25 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 1 Sep 2023 09:00:01 -0400 Subject: First pass of rendering engine rewrite. The (chickadee graphics gpu) module now handles most of the low-level OpenGL object creation/deletion/binding. The (chickadee graphics engine) module handles the with-graphics-state stuff via a render context object. There's lots of stuff that isn't great, but it's the first step towards a graphics backend agnostic rendering layer. --- doc/api.texi | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/api.texi b/doc/api.texi index 50ce301..b6aef7b 100644 --- a/doc/api.texi +++ b/doc/api.texi @@ -4483,8 +4483,8 @@ and state changes happen within the context of this engine. Performing a custom draw call could look something like this: @lisp -(with-graphics-state ((g:blend-mode blend:alpha) - (g:texture-0 my-texture)) +(with-graphics-state ((blend-mode blend:alpha) + (texture 0 my-texture)) (shader-apply my-shader #:foo 1)) @end lisp @@ -4502,17 +4502,12 @@ values afterwards. @end deffn One additional piece of state that the rendering engine has, that is -not part of the GPU state, is the current projection matrix: +not strictly part of the GPU state, is the current projection matrix: @deffn {Procedure} current-projection Return the currently bound projection matrix (@pxref{Matrices}). @end deffn -@deffn {Syntax} with-projection projection body @dots{} -Evaluate @var{body} with the current projection matrix bound to -@var{projection} (@pxref{Matrices}). -@end deffn - @subsubsection Rendering Chickadee likens a GPU draw call to a Scheme procedure call. A shader -- cgit v1.2.3