DRW: Port draw_common.c to use shared definition with GLSL
# Conflicts: # source/blender/draw/intern/draw_common_shader_shared.h # source/blender/draw/intern/shaders/draw_view_info.hh
This commit is contained in:
parent
fb524d1675
commit
4cd409ca98
|
@ -393,6 +393,7 @@ set(GLSL_SRC
|
||||||
intern/shaders/common_subdiv_vbo_sculpt_data_comp.glsl
|
intern/shaders/common_subdiv_vbo_sculpt_data_comp.glsl
|
||||||
|
|
||||||
intern/draw_shader_shared.h
|
intern/draw_shader_shared.h
|
||||||
|
intern/draw_common_shader_shared.h
|
||||||
|
|
||||||
engines/gpencil/shaders/gpencil_frag.glsl
|
engines/gpencil/shaders/gpencil_frag.glsl
|
||||||
engines/gpencil/shaders/gpencil_vert.glsl
|
engines/gpencil/shaders/gpencil_vert.glsl
|
||||||
|
|
|
@ -139,107 +139,131 @@ BLI_STATIC_ASSERT_ALIGN(GlobalsUboStorage, 16)
|
||||||
#ifdef GPU_SHADER
|
#ifdef GPU_SHADER
|
||||||
/* Keep compatibility_with old global scope syntax. */
|
/* Keep compatibility_with old global scope syntax. */
|
||||||
/* TODO(@fclem) Mass rename and remove the camel case. */
|
/* TODO(@fclem) Mass rename and remove the camel case. */
|
||||||
# define colorWire drw_globals.colorWire
|
# define colorWire globalsBlock.colorWire
|
||||||
# define colorWireEdit drw_globals.colorWireEdit
|
# define colorWireEdit globalsBlock.colorWireEdit
|
||||||
# define colorActive drw_globals.colorActive
|
# define colorActive globalsBlock.colorActive
|
||||||
# define colorSelect drw_globals.colorSelect
|
# define colorSelect globalsBlock.colorSelect
|
||||||
# define colorLibrarySelect drw_globals.colorLibrarySelect
|
# define colorLibrarySelect globalsBlock.colorLibrarySelect
|
||||||
# define colorLibrary drw_globals.colorLibrary
|
# define colorLibrary globalsBlock.colorLibrary
|
||||||
# define colorTransform drw_globals.colorTransform
|
# define colorTransform globalsBlock.colorTransform
|
||||||
# define colorLight drw_globals.colorLight
|
# define colorLight globalsBlock.colorLight
|
||||||
# define colorSpeaker drw_globals.colorSpeaker
|
# define colorSpeaker globalsBlock.colorSpeaker
|
||||||
# define colorCamera drw_globals.colorCamera
|
# define colorCamera globalsBlock.colorCamera
|
||||||
# define colorCameraPath drw_globals.colorCameraPath
|
# define colorCameraPath globalsBlock.colorCameraPath
|
||||||
# define colorEmpty drw_globals.colorEmpty
|
# define colorEmpty globalsBlock.colorEmpty
|
||||||
# define colorVertex drw_globals.colorVertex
|
# define colorVertex globalsBlock.colorVertex
|
||||||
# define colorVertexSelect drw_globals.colorVertexSelect
|
# define colorVertexSelect globalsBlock.colorVertexSelect
|
||||||
# define colorVertexUnreferenced drw_globals.colorVertexUnreferenced
|
# define colorVertexUnreferenced globalsBlock.colorVertexUnreferenced
|
||||||
# define colorVertexMissingData drw_globals.colorVertexMissingData
|
# define colorVertexMissingData globalsBlock.colorVertexMissingData
|
||||||
# define colorEditMeshActive drw_globals.colorEditMeshActive
|
# define colorEditMeshActive globalsBlock.colorEditMeshActive
|
||||||
# define colorEdgeSelect drw_globals.colorEdgeSelect
|
# define colorEdgeSelect globalsBlock.colorEdgeSelect
|
||||||
# define colorEdgeSeam drw_globals.colorEdgeSeam
|
# define colorEdgeSeam globalsBlock.colorEdgeSeam
|
||||||
# define colorEdgeSharp drw_globals.colorEdgeSharp
|
# define colorEdgeSharp globalsBlock.colorEdgeSharp
|
||||||
# define colorEdgeCrease drw_globals.colorEdgeCrease
|
# define colorEdgeCrease globalsBlock.colorEdgeCrease
|
||||||
# define colorEdgeBWeight drw_globals.colorEdgeBWeight
|
# define colorEdgeBWeight globalsBlock.colorEdgeBWeight
|
||||||
# define colorEdgeFaceSelect drw_globals.colorEdgeFaceSelect
|
# define colorEdgeFaceSelect globalsBlock.colorEdgeFaceSelect
|
||||||
# define colorEdgeFreestyle drw_globals.colorEdgeFreestyle
|
# define colorEdgeFreestyle globalsBlock.colorEdgeFreestyle
|
||||||
# define colorFace drw_globals.colorFace
|
# define colorFace globalsBlock.colorFace
|
||||||
# define colorFaceSelect drw_globals.colorFaceSelect
|
# define colorFaceSelect globalsBlock.colorFaceSelect
|
||||||
# define colorFaceFreestyle drw_globals.colorFaceFreestyle
|
# define colorFaceFreestyle globalsBlock.colorFaceFreestyle
|
||||||
# define colorGpencilVertex drw_globals.colorGpencilVertex
|
# define colorGpencilVertex globalsBlock.colorGpencilVertex
|
||||||
# define colorGpencilVertexSelect drw_globals.colorGpencilVertexSelect
|
# define colorGpencilVertexSelect globalsBlock.colorGpencilVertexSelect
|
||||||
# define colorNormal drw_globals.colorNormal
|
# define colorNormal globalsBlock.colorNormal
|
||||||
# define colorVNormal drw_globals.colorVNormal
|
# define colorVNormal globalsBlock.colorVNormal
|
||||||
# define colorLNormal drw_globals.colorLNormal
|
# define colorLNormal globalsBlock.colorLNormal
|
||||||
# define colorFaceDot drw_globals.colorFaceDot
|
# define colorFaceDot globalsBlock.colorFaceDot
|
||||||
# define colorSkinRoot drw_globals.colorSkinRoot
|
# define colorSkinRoot globalsBlock.colorSkinRoot
|
||||||
# define colorDeselect drw_globals.colorDeselect
|
# define colorDeselect globalsBlock.colorDeselect
|
||||||
# define colorOutline drw_globals.colorOutline
|
# define colorOutline globalsBlock.colorOutline
|
||||||
# define colorLightNoAlpha drw_globals.colorLightNoAlpha
|
# define colorLightNoAlpha globalsBlock.colorLightNoAlpha
|
||||||
# define colorBackground drw_globals.colorBackground
|
# define colorBackground globalsBlock.colorBackground
|
||||||
# define colorBackgroundGradient drw_globals.colorBackgroundGradient
|
# define colorBackgroundGradient globalsBlock.colorBackgroundGradient
|
||||||
# define colorCheckerPrimary drw_globals.colorCheckerPrimary
|
# define colorCheckerPrimary globalsBlock.colorCheckerPrimary
|
||||||
# define colorCheckerSecondary drw_globals.colorCheckerSecondary
|
# define colorCheckerSecondary globalsBlock.colorCheckerSecondary
|
||||||
# define colorClippingBorder drw_globals.colorClippingBorder
|
# define colorClippingBorder globalsBlock.colorClippingBorder
|
||||||
# define colorEditMeshMiddle drw_globals.colorEditMeshMiddle
|
# define colorEditMeshMiddle globalsBlock.colorEditMeshMiddle
|
||||||
# define colorHandleFree drw_globals.colorHandleFree
|
# define colorHandleFree globalsBlock.colorHandleFree
|
||||||
# define colorHandleAuto drw_globals.colorHandleAuto
|
# define colorHandleAuto globalsBlock.colorHandleAuto
|
||||||
# define colorHandleVect drw_globals.colorHandleVect
|
# define colorHandleVect globalsBlock.colorHandleVect
|
||||||
# define colorHandleAlign drw_globals.colorHandleAlign
|
# define colorHandleAlign globalsBlock.colorHandleAlign
|
||||||
# define colorHandleAutoclamp drw_globals.colorHandleAutoclamp
|
# define colorHandleAutoclamp globalsBlock.colorHandleAutoclamp
|
||||||
# define colorHandleSelFree drw_globals.colorHandleSelFree
|
# define colorHandleSelFree globalsBlock.colorHandleSelFree
|
||||||
# define colorHandleSelAuto drw_globals.colorHandleSelAuto
|
# define colorHandleSelAuto globalsBlock.colorHandleSelAuto
|
||||||
# define colorHandleSelVect drw_globals.colorHandleSelVect
|
# define colorHandleSelVect globalsBlock.colorHandleSelVect
|
||||||
# define colorHandleSelAlign drw_globals.colorHandleSelAlign
|
# define colorHandleSelAlign globalsBlock.colorHandleSelAlign
|
||||||
# define colorHandleSelAutoclamp drw_globals.colorHandleSelAutoclamp
|
# define colorHandleSelAutoclamp globalsBlock.colorHandleSelAutoclamp
|
||||||
# define colorNurbUline drw_globals.colorNurbUline
|
# define colorNurbUline globalsBlock.colorNurbUline
|
||||||
# define colorNurbVline drw_globals.colorNurbVline
|
# define colorNurbVline globalsBlock.colorNurbVline
|
||||||
# define colorNurbSelUline drw_globals.colorNurbSelUline
|
# define colorNurbSelUline globalsBlock.colorNurbSelUline
|
||||||
# define colorNurbSelVline drw_globals.colorNurbSelVline
|
# define colorNurbSelVline globalsBlock.colorNurbSelVline
|
||||||
# define colorActiveSpline drw_globals.colorActiveSpline
|
# define colorActiveSpline globalsBlock.colorActiveSpline
|
||||||
# define colorBonePose drw_globals.colorBonePose
|
# define colorBonePose globalsBlock.colorBonePose
|
||||||
# define colorBonePoseActive drw_globals.colorBonePoseActive
|
# define colorBonePoseActive globalsBlock.colorBonePoseActive
|
||||||
# define colorBonePoseActiveUnsel drw_globals.colorBonePoseActiveUnsel
|
# define colorBonePoseActiveUnsel globalsBlock.colorBonePoseActiveUnsel
|
||||||
# define colorBonePoseConstraint drw_globals.colorBonePoseConstraint
|
# define colorBonePoseConstraint globalsBlock.colorBonePoseConstraint
|
||||||
# define colorBonePoseIK drw_globals.colorBonePoseIK
|
# define colorBonePoseIK globalsBlock.colorBonePoseIK
|
||||||
# define colorBonePoseSplineIK drw_globals.colorBonePoseSplineIK
|
# define colorBonePoseSplineIK globalsBlock.colorBonePoseSplineIK
|
||||||
# define colorBonePoseTarget drw_globals.colorBonePoseTarget
|
# define colorBonePoseTarget globalsBlock.colorBonePoseTarget
|
||||||
# define colorBoneSolid drw_globals.colorBoneSolid
|
# define colorBoneSolid globalsBlock.colorBoneSolid
|
||||||
# define colorBoneLocked drw_globals.colorBoneLocked
|
# define colorBoneLocked globalsBlock.colorBoneLocked
|
||||||
# define colorBoneActive drw_globals.colorBoneActive
|
# define colorBoneActive globalsBlock.colorBoneActive
|
||||||
# define colorBoneActiveUnsel drw_globals.colorBoneActiveUnsel
|
# define colorBoneActiveUnsel globalsBlock.colorBoneActiveUnsel
|
||||||
# define colorBoneSelect drw_globals.colorBoneSelect
|
# define colorBoneSelect globalsBlock.colorBoneSelect
|
||||||
# define colorBoneIKLine drw_globals.colorBoneIKLine
|
# define colorBoneIKLine globalsBlock.colorBoneIKLine
|
||||||
# define colorBoneIKLineNoTarget drw_globals.colorBoneIKLineNoTarget
|
# define colorBoneIKLineNoTarget globalsBlock.colorBoneIKLineNoTarget
|
||||||
# define colorBoneIKLineSpline drw_globals.colorBoneIKLineSpline
|
# define colorBoneIKLineSpline globalsBlock.colorBoneIKLineSpline
|
||||||
# define colorText drw_globals.colorText
|
# define colorText globalsBlock.colorText
|
||||||
# define colorTextHi drw_globals.colorTextHi
|
# define colorTextHi globalsBlock.colorTextHi
|
||||||
# define colorBundleSolid drw_globals.colorBundleSolid
|
# define colorBundleSolid globalsBlock.colorBundleSolid
|
||||||
# define colorMballRadius drw_globals.colorMballRadius
|
# define colorMballRadius globalsBlock.colorMballRadius
|
||||||
# define colorMballRadiusSelect drw_globals.colorMballRadiusSelect
|
# define colorMballRadiusSelect globalsBlock.colorMballRadiusSelect
|
||||||
# define colorMballStiffness drw_globals.colorMballStiffness
|
# define colorMballStiffness globalsBlock.colorMballStiffness
|
||||||
# define colorMballStiffnessSelect drw_globals.colorMballStiffnessSelect
|
# define colorMballStiffnessSelect globalsBlock.colorMballStiffnessSelect
|
||||||
# define colorCurrentFrame drw_globals.colorCurrentFrame
|
# define colorCurrentFrame globalsBlock.colorCurrentFrame
|
||||||
# define colorGrid drw_globals.colorGrid
|
# define colorGrid globalsBlock.colorGrid
|
||||||
# define colorGridEmphasis drw_globals.colorGridEmphasis
|
# define colorGridEmphasis globalsBlock.colorGridEmphasis
|
||||||
# define colorGridAxisX drw_globals.colorGridAxisX
|
# define colorGridAxisX globalsBlock.colorGridAxisX
|
||||||
# define colorGridAxisY drw_globals.colorGridAxisY
|
# define colorGridAxisY globalsBlock.colorGridAxisY
|
||||||
# define colorGridAxisZ drw_globals.colorGridAxisZ
|
# define colorGridAxisZ globalsBlock.colorGridAxisZ
|
||||||
# define colorFaceBack drw_globals.colorFaceBack
|
# define colorFaceBack globalsBlock.colorFaceBack
|
||||||
# define colorFaceFront drw_globals.colorFaceFront
|
# define colorFaceFront globalsBlock.colorFaceFront
|
||||||
# define colorUVShadow drw_globals.colorUVShadow
|
# define colorUVShadow globalsBlock.colorUVShadow
|
||||||
# define screenVecs drw_globals.screenVecs
|
# define screenVecs globalsBlock.screenVecs
|
||||||
# define sizeViewport drw_globals.sizeViewport
|
# define sizeViewport globalsBlock.sizeViewport.xy
|
||||||
# define sizePixel drw_globals.sizePixel
|
# define sizeViewportInv globalsBlock.sizeViewport.zw
|
||||||
# define pixelFac drw_globals.pixelFac
|
# define sizePixel globalsBlock.sizePixel
|
||||||
# define sizeObjectCenter drw_globals.sizeObjectCenter
|
# define pixelFac globalsBlock.pixelFac
|
||||||
# define sizeLightCenter drw_globals.sizeLightCenter
|
# define sizeObjectCenter globalsBlock.sizeObjectCenter
|
||||||
# define sizeLightCircle drw_globals.sizeLightCircle
|
# define sizeLightCenter globalsBlock.sizeLightCenter
|
||||||
# define sizeLightCircleShadow drw_globals.sizeLightCircleShadow
|
# define sizeLightCircle globalsBlock.sizeLightCircle
|
||||||
# define sizeVertex drw_globals.sizeVertex
|
# define sizeLightCircleShadow globalsBlock.sizeLightCircleShadow
|
||||||
# define sizeEdge drw_globals.sizeEdge
|
# define sizeVertex globalsBlock.sizeVertex
|
||||||
# define sizeEdgeFix drw_globals.sizeEdgeFix
|
# define sizeEdge globalsBlock.sizeEdge
|
||||||
# define sizeFaceDot drw_globals.sizeFaceDot
|
# define sizeEdgeFix globalsBlock.sizeEdgeFix
|
||||||
# define sizeChecker drw_globals.sizeChecker
|
# define sizeFaceDot globalsBlock.sizeFaceDot
|
||||||
# define sizeVertexGpencil drw_globals.sizeVertexGpencil
|
# define sizeChecker globalsBlock.sizeChecker
|
||||||
|
# define sizeVertexGpencil globalsBlock.sizeVertexGpencil
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* See: 'draw_cache_impl.h' for matching includes. */
|
||||||
|
#define VERT_GPENCIL_BEZT_HANDLE (1 << 30)
|
||||||
|
/* data[0] (1st byte flags) */
|
||||||
|
#define FACE_ACTIVE (1 << 0)
|
||||||
|
#define FACE_SELECTED (1 << 1)
|
||||||
|
#define FACE_FREESTYLE (1 << 2)
|
||||||
|
#define VERT_UV_SELECT (1 << 3)
|
||||||
|
#define VERT_UV_PINNED (1 << 4)
|
||||||
|
#define EDGE_UV_SELECT (1 << 5)
|
||||||
|
#define FACE_UV_ACTIVE (1 << 6)
|
||||||
|
#define FACE_UV_SELECT (1 << 7)
|
||||||
|
/* data[1] (2st byte flags) */
|
||||||
|
#define VERT_ACTIVE (1 << 0)
|
||||||
|
#define VERT_SELECTED (1 << 1)
|
||||||
|
#define VERT_SELECTED_BEZT_HANDLE (1 << 2)
|
||||||
|
#define EDGE_ACTIVE (1 << 3)
|
||||||
|
#define EDGE_SELECTED (1 << 4)
|
||||||
|
#define EDGE_SEAM (1 << 5)
|
||||||
|
#define EDGE_SHARP (1 << 6)
|
||||||
|
#define EDGE_FREESTYLE (1 << 7)
|
||||||
|
|
||||||
|
#define COMMON_GLOBALS_LIB
|
||||||
|
|
|
@ -47,6 +47,7 @@ layout(std140) uniform viewBlock
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef COMMON_GLOBALS_LIB
|
#ifdef COMMON_GLOBALS_LIB
|
||||||
|
/* TODO move to overlay engine. */
|
||||||
float mul_project_m4_v3_zfac(in vec3 co)
|
float mul_project_m4_v3_zfac(in vec3 co)
|
||||||
{
|
{
|
||||||
return pixelFac * ((ViewProjectionMatrix[0][3] * co.x) + (ViewProjectionMatrix[1][3] * co.y) +
|
return pixelFac * ((ViewProjectionMatrix[0][3] * co.x) + (ViewProjectionMatrix[1][3] * co.y) +
|
||||||
|
|
|
@ -80,7 +80,7 @@ GPU_SHADER_CREATE_INFO(drw_clipped).define("USE_WORLD_CLIP_PLANES");
|
||||||
|
|
||||||
GPU_SHADER_CREATE_INFO(draw_globals)
|
GPU_SHADER_CREATE_INFO(draw_globals)
|
||||||
.typedef_source("draw_common_shader_shared.h")
|
.typedef_source("draw_common_shader_shared.h")
|
||||||
.uniform_buf(1, "ObjectMatrices", "drw_globals", Frequency::PASS);
|
.uniform_buf(1, "GlobalsUboStorage", "globalsBlock", Frequency::PASS);
|
||||||
|
|
||||||
/** \} */
|
/** \} */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue