Struct Program
Defined in File shader.h
Inheritance Relationships
Derived Type
public CE::Rendering::OpenGL::Program(Struct Program)
Struct Documentation
-
struct Program
Mutable executable-program access on the backend owner/current context.
This legacy primitive interface does not provide immutable packet resolution.
See also
Subclassed by CE::Rendering::OpenGL::Program
Public Functions
-
virtual ~Program() = default
Release the logical executable handle under its backend retirement contract.
-
virtual void bind_pass(const CE::Rendering::Parameters::PassSemantics &pass) = 0
Apply the backend’s mapped pass semantics.
- Parameters:
pass – Copied projection/view values borrowed through this call. Requires live backend owner/current context; concrete mappings may omit roles unused by the program.
-
virtual void bind_draw(const CE::Rendering::Parameters::DrawSemantics &draw) = 0
Apply the backend’s mapped model, alpha, scale and legacy texture semantics.
- Parameters:
draw – Stable values borrowed through this call. This mutates program state and performs no frame publication; backend errors may leave prior writes applied.
-
virtual void use() = 0
Select this executable on the backend owner/current context.
Retain the program and its original live resource domain through use.
-
virtual void set_uniform_value(const char *name, float value) = 0
Set one backend-named floating-point uniform on the live backend owner.
- Parameters:
name – NUL-terminated backend uniform name borrowed only through this call.
value – Value copied into program state. Name/type validation and whether the program must already be selected belong to the backend; failure does not promise rollback of earlier writes.
-
virtual void set_uniform_value(const char *name, int value) = 0
Set one backend-named signed integer uniform on the live backend owner.
- Parameters:
name – NUL-terminated backend uniform name borrowed only through this call.
value – Value copied into program state. Name/type validation and whether the program must already be selected belong to the backend; failure does not promise rollback of earlier writes.
-
virtual void set_uniform_value(const char *name, unsigned int value) = 0
Set one backend-named unsigned integer uniform on the live backend owner.
- Parameters:
name – NUL-terminated backend uniform name borrowed only through this call.
value – Value copied into program state. Name/type validation and whether the program must already be selected belong to the backend; failure does not promise rollback of earlier writes.
-
virtual void set_uniform_value(const char *name, bool value) = 0
Set one backend-named boolean uniform on the live backend owner.
- Parameters:
name – NUL-terminated backend uniform name borrowed only through this call.
value – Value copied into program state. Name/type validation and whether the program must already be selected belong to the backend; failure does not promise rollback of earlier writes.
-
virtual void set_uniform_matrix(const char *name, const glm::mat4 &value) = 0
Set one backend-named 4 by 4 matrix uniform.
- Parameters:
name – NUL-terminated name borrowed through the call.
value – Matrix borrowed through the call; no live camera is retained. Requires the backend owner/current context. Concrete adapters define matrix upload/name validation and current-program requirements.
-
virtual ~Program() = default