内容表

上一话题

Qt3DRender.QShaderImage

下一话题

Qt3DRender.QShaderProgramBuilder

Qt3DRender.QShaderProgram

Encapsulates a Shader Program. 更多

Inheritance diagram of PySide2.Qt3DRender.Qt3DRender.QShaderProgram

概要

信号

静态函数

详细描述

A shader program consists of several different shaders, such as vertex and fragment shaders.

Qt3D will automatically populate a set of default uniforms if they are encountered during the shader instrospection phase.

+——————————————–+——————————+-+——————————————————————-+++ | Default Uniform | Associated Qt3D Parameter name | GLSL declaration | +——————————————–+——————————+-+——————————————————————-+++ | ModelMatrix | modelMatrix | uniform mat4 modelMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | ViewMatrix | viewMatrix | uniform mat4 viewMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | ProjectionMatrix | projectionMatrix | uniform mat4 projectionMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | ModelViewMatrix | modelView | uniform mat4 modelView; | +——————————————–+——————————+-+——————————————————————-+++ | ViewProjectionMatrix | viewProjectionMatrix | uniform mat4 viewProjectionMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | ModelViewProjectionMatrix | modelViewProjection mvp | uniform mat4 modelViewProjection; uniform mat4 mvp; | +——————————————–+——————————+-+——————————————————————-+++ | InverseModelMatrix | inverseModelMatrix | uniform mat4 inverseModelMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | InverseViewMatrix | inverseViewMatrix | uniform mat4 inverseViewMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | InverseProjectionMatrix | inverseProjectionMatrix | uniform mat4 inverseProjectionMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | InverseModelViewMatrix | inverseModelView | uniform mat4 inverseModelView; | +——————————————–+——————————+-+——————————————————————-+++ | InverseViewProjectionMatrix | inverseViewProjectionMatrix | uniform mat4 inverseViewProjectionMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | InverseModelViewProjectionMatrix | inverseModelViewProjection | uniform mat4 inverseModelViewProjection; | +——————————————–+——————————+-+——————————————————————-+++ | ModelNormalMatrix | modelNormalMatrix | uniform mat3 modelNormalMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | ModelViewNormalMatrix | modelViewNormal | uniform mat3 modelViewNormal; | +——————————————–+——————————+-+——————————————————————-+++ | ViewportMatrix | viewportMatrix | uniform mat4 viewportMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | InverseViewportMatrix | inverseViewportMatrix | uniform mat4 inverseViewportMatrix; | +——————————————–+——————————+-+——————————————————————-+++ | AspectRatio (surface width / surface height)|aspectRatio | uniform float aspectRatio; | +——————————————–+——————————+-+——————————————————————-+++ | Exposure | exposure | uniform float exposure; | +——————————————–+——————————+-+——————————————————————-+++ | Gamma | gamma | uniform float gamma; | +——————————————–+——————————+-+——————————————————————-+++ | Time (in nano seconds) | time | uniform float time; | +——————————————–+——————————+-+——————————————————————-+++ | EyePosition | eyePosition | uniform vec3 eyePosition; | +——————————————–+——————————+-+——————————————————————-+++ | SkinningPalette | skinningPalette[0] | const int maxJoints = 100; uniform mat4 skinningPalette[maxJoints]; | +——————————————–+——————————+-+——————————————————————-+++

class PySide2.Qt3DRender.Qt3DRender. QShaderProgram ( [ parent=None ] )
参数

parent QNode

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. ShaderType

This enum identifies the type of shader used.

常量

描述

Qt3DRender.QShaderProgram.Vertex

Vertex shader

Qt3DRender.QShaderProgram.Fragment

Fragment shader

Qt3DRender.QShaderProgram.TessellationControl

Tesselation control shader

Qt3DRender.QShaderProgram.TessellationEvaluation

Tesselation evaluation shader

Qt3DRender.QShaderProgram.Geometry

Geometry shader

Qt3DRender.QShaderProgram.Compute

Compute shader

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. Status

This enum identifies the status of shader used.

常量

描述

Qt3DRender.QShaderProgram.NotReady

The shader hasn’t been compiled and linked yet

Qt3DRender.QShaderProgram.Ready

The shader was successfully compiled

Qt3DRender.QShaderProgram.Error

An error occurred while compiling the shader

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. computeShaderCode ( )
返回类型

QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. computeShaderCodeChanged ( computeShaderCode )
参数

computeShaderCode QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. fragmentShaderCode ( )
返回类型

QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. fragmentShaderCodeChanged ( fragmentShaderCode )
参数

fragmentShaderCode QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. geometryShaderCode ( )
返回类型

QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. geometryShaderCodeChanged ( geometryShaderCode )
参数

geometryShaderCode QByteArray

static PySide2.Qt3DRender.Qt3DRender.QShaderProgram. loadSource ( sourceUrl )
参数

sourceUrl QUrl

返回类型

QByteArray

Returns the shader code loaded from sourceUrl .

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. log ( )
返回类型

unicode

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. logChanged ( log )
参数

log – unicode

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. setComputeShaderCode ( computeShaderCode )
参数

computeShaderCode QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. setFragmentShaderCode ( fragmentShaderCode )
参数

fragmentShaderCode QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. setGeometryShaderCode ( geometryShaderCode )
参数

geometryShaderCode QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. setShaderCode ( type , shaderCode )
参数

Sets the shader code for type of shader to the shaderCode .

另请参阅

shaderCode()

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. setTessellationControlShaderCode ( tessellationControlShaderCode )
参数

tessellationControlShaderCode QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. setTessellationEvaluationShaderCode ( tessellationEvaluationShaderCode )
参数

tessellationEvaluationShaderCode QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. setVertexShaderCode ( vertexShaderCode )
参数

vertexShaderCode QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. shaderCode ( type )
参数

type ShaderType

返回类型

QByteArray

Returns the shader code for type .

另请参阅

setShaderCode()

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. status ( )
返回类型

Status

Returns the status of the current shader program.

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. statusChanged ( status )
参数

status Status

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. tessellationControlShaderCode ( )
返回类型

QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. tessellationControlShaderCodeChanged ( tessellationControlShaderCode )
参数

tessellationControlShaderCode QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. tessellationEvaluationShaderCode ( )
返回类型

QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. tessellationEvaluationShaderCodeChanged ( tessellationEvaluationShaderCode )
参数

tessellationEvaluationShaderCode QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. vertexShaderCode ( )
返回类型

QByteArray

PySide2.Qt3DRender.Qt3DRender.QShaderProgram. vertexShaderCodeChanged ( vertexShaderCode )
参数

vertexShaderCode QByteArray