Allow compilation of shaders using C++ for linting and IDE support. Related #127983 Pull Request: https://projects.blender.org/blender/blender/pulls/130193
44 lines
1.2 KiB
C++
44 lines
1.2 KiB
C++
/* SPDX-FileCopyrightText: 2023 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#ifdef GPU_SHADER
|
|
# pragma once
|
|
# include "gpu_glsl_cpp_stubs.hh"
|
|
|
|
# include "draw_shader_shared.hh"
|
|
# define DRW_DEBUG_DRAW
|
|
#endif
|
|
|
|
#include "draw_defines.hh"
|
|
#include "gpu_shader_create_info.hh"
|
|
|
|
/* -------------------------------------------------------------------- */
|
|
/** \name Debug draw shapes
|
|
*
|
|
* Allows to draw lines and points just like the DRW_debug module functions.
|
|
* \{ */
|
|
|
|
GPU_SHADER_CREATE_INFO(draw_debug_draw)
|
|
DEFINE("DRW_DEBUG_DRAW")
|
|
TYPEDEF_SOURCE("draw_shader_shared.hh")
|
|
STORAGE_BUF(DRW_DEBUG_DRAW_SLOT, READ_WRITE, DRWDebugVert, drw_debug_verts_buf[])
|
|
GPU_SHADER_CREATE_END()
|
|
|
|
GPU_SHADER_NAMED_INTERFACE_INFO(draw_debug_draw_display_iface, interp)
|
|
FLAT(VEC4, color)
|
|
GPU_SHADER_NAMED_INTERFACE_END(interp)
|
|
|
|
GPU_SHADER_CREATE_INFO(draw_debug_draw_display)
|
|
DO_STATIC_COMPILATION()
|
|
TYPEDEF_SOURCE("draw_shader_shared.hh")
|
|
STORAGE_BUF(DRW_DEBUG_DRAW_SLOT, READ, DRWDebugVert, drw_debug_verts_buf[])
|
|
VERTEX_OUT(draw_debug_draw_display_iface)
|
|
FRAGMENT_OUT(0, VEC4, out_color)
|
|
PUSH_CONSTANT(MAT4, persmat)
|
|
VERTEX_SOURCE("draw_debug_draw_display_vert.glsl")
|
|
FRAGMENT_SOURCE("draw_debug_draw_display_frag.glsl")
|
|
GPU_SHADER_CREATE_END()
|
|
|
|
/** \} */
|