picogl.shaders.compile ====================== .. py:module:: picogl.shaders.compile .. autoapi-nested-parse:: Open GL shader_manager.current_shader_program compilation Attributes ---------- .. autoapisummary:: picogl.shaders.compile.VERTEX_SHADER_SRC_HARDCODED_TEST Functions --------- .. autoapisummary:: picogl.shaders.compile.compile_shaders picogl.shaders.compile._log_shader_preview Module Contents --------------- .. py:data:: VERTEX_SHADER_SRC_HARDCODED_TEST :value: Multiline-String .. raw:: html
Show Value .. code-block:: python """#version 330 core layout(location = 0) in vec3 in_position; layout(location = 1) in vec3 in_color; uniform mat4 mvp_matrix; uniform float u_base_point_size; out vec3 frag_color; void main() { gl_Position = mvp_matrix * vec4(in_position, 1.0); frag_color = in_color; gl_PointSize = u_base_point_size; } """ .. raw:: html
.. py:function:: compile_shaders(vertex_src: str, fragment_src: str, shader_name: Optional[str]) -> Optional[picogl.backend.modern.core.shader.program.ShaderProgram] Compiles and links a vertex + fragment shader_manager.current_shader_program shader_program using Qt's OpenGL API. :param shader_name: str :param vertex_src: Vertex shader_manager.current_shader_program GLSL code. :param fragment_src: Fragment shader_manager.current_shader_program GLSL code. :return: Linked PicoGLShader or None on failure. .. py:function:: _log_shader_preview(vertex_src: str, fragment_src: str, preview_len: int = 200) _log_shader_preview :param vertex_src: str :param fragment_src: str :param preview_len: int :return: