diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-03-26 13:53:24 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-03-26 15:16:01 +0300 |
commit | 23bbc0d7481cefd746cd32bfa8526ecaea9bf71d (patch) | |
tree | 1469b0c8e2153b83c4bc90cf56fc29736e1aa364 /source/blender/draw/intern/draw_common.h | |
parent | 6073b6b874e4b5fa990153dfbaa04dac5d884094 (diff) |
DRW: Port draw_common.c to use shared definition with GLSL
Diffstat (limited to 'source/blender/draw/intern/draw_common.h')
-rw-r--r-- | source/blender/draw/intern/draw_common.h | 122 |
1 files changed, 2 insertions, 120 deletions
diff --git a/source/blender/draw/intern/draw_common.h b/source/blender/draw/intern/draw_common.h index 53946c0cec5..e2dc91f64be 100644 --- a/source/blender/draw/intern/draw_common.h +++ b/source/blender/draw/intern/draw_common.h @@ -7,6 +7,8 @@ #pragma once +#include "draw_common_shader_shared.h" + struct DRWShadingGroup; struct FluidModifierData; struct GPUMaterial; @@ -16,126 +18,6 @@ struct ParticleSystem; struct RegionView3D; struct ViewLayer; -#define UBO_FIRST_COLOR colorWire -#define UBO_LAST_COLOR colorUVShadow - -/* Used as ubo but colors can be directly referenced as well */ -/* Keep in sync with: common_globals_lib.glsl (globalsBlock) */ -/* NOTE: Also keep all color as vec4 and between #UBO_FIRST_COLOR and #UBO_LAST_COLOR. */ -typedef struct GlobalsUboStorage { - /* UBOs data needs to be 16 byte aligned (size of vec4) */ - float colorWire[4]; - float colorWireEdit[4]; - float colorActive[4]; - float colorSelect[4]; - float colorLibrarySelect[4]; - float colorLibrary[4]; - float colorTransform[4]; - float colorLight[4]; - float colorSpeaker[4]; - float colorCamera[4]; - float colorCameraPath[4]; - float colorEmpty[4]; - float colorVertex[4]; - float colorVertexSelect[4]; - float colorVertexUnreferenced[4]; - float colorVertexMissingData[4]; - float colorEditMeshActive[4]; - float colorEdgeSelect[4]; - float colorEdgeSeam[4]; - float colorEdgeSharp[4]; - float colorEdgeCrease[4]; - float colorEdgeBWeight[4]; - float colorEdgeFaceSelect[4]; - float colorEdgeFreestyle[4]; - float colorFace[4]; - float colorFaceSelect[4]; - float colorFaceFreestyle[4]; - float colorGpencilVertex[4]; - float colorGpencilVertexSelect[4]; - float colorNormal[4]; - float colorVNormal[4]; - float colorLNormal[4]; - float colorFaceDot[4]; - float colorSkinRoot[4]; - - float colorDeselect[4]; - float colorOutline[4]; - float colorLightNoAlpha[4]; - - float colorBackground[4]; - float colorBackgroundGradient[4]; - float colorCheckerPrimary[4]; - float colorCheckerSecondary[4]; - float colorClippingBorder[4]; - float colorEditMeshMiddle[4]; - - float colorHandleFree[4]; - float colorHandleAuto[4]; - float colorHandleVect[4]; - float colorHandleAlign[4]; - float colorHandleAutoclamp[4]; - float colorHandleSelFree[4]; - float colorHandleSelAuto[4]; - float colorHandleSelVect[4]; - float colorHandleSelAlign[4]; - float colorHandleSelAutoclamp[4]; - float colorNurbUline[4]; - float colorNurbVline[4]; - float colorNurbSelUline[4]; - float colorNurbSelVline[4]; - float colorActiveSpline[4]; - - float colorBonePose[4]; - float colorBonePoseActive[4]; - float colorBonePoseActiveUnsel[4]; - float colorBonePoseConstraint[4]; - float colorBonePoseIK[4]; - float colorBonePoseSplineIK[4]; - float colorBonePoseTarget[4]; - float colorBoneSolid[4]; - float colorBoneLocked[4]; - float colorBoneActive[4]; - float colorBoneActiveUnsel[4]; - float colorBoneSelect[4]; - float colorBoneIKLine[4]; - float colorBoneIKLineNoTarget[4]; - float colorBoneIKLineSpline[4]; - - float colorText[4]; - float colorTextHi[4]; - - float colorBundleSolid[4]; - - float colorMballRadius[4]; - float colorMballRadiusSelect[4]; - float colorMballStiffness[4]; - float colorMballStiffnessSelect[4]; - - float colorCurrentFrame[4]; - - float colorGrid[4]; - float colorGridEmphasis[4]; - float colorGridAxisX[4]; - float colorGridAxisY[4]; - float colorGridAxisZ[4]; - - float colorFaceBack[4]; - float colorFaceFront[4]; - - float colorUVShadow[4]; - - /* NOTE: Put all color before #UBO_LAST_COLOR. */ - float screenVecs[2][4]; /* Padded as vec4. */ - float sizeViewport[2], sizeViewportInv[2]; /* Packed as vec4 in GLSL. */ - - /* Pack individual float at the end of the buffer to avoid alignment errors */ - float sizePixel, pixelFac; - float sizeObjectCenter, sizeLightCenter, sizeLightCircle, sizeLightCircleShadow; - float sizeVertex, sizeEdge, sizeEdgeFix, sizeFaceDot; - float sizeChecker; - float sizeVertexGpencil; -} GlobalsUboStorage; /* Keep in sync with globalsBlock in shaders */ BLI_STATIC_ASSERT_ALIGN(GlobalsUboStorage, 16) |