<commit_before>//! \brief A collection of constants for Nova to use

#pragma once

#include "nova_renderer/memory/bytes.hpp"

using namespace nova::mem::operators;

namespace nova::renderer {
    constexpr const char* MODEL_MATRIX_BUFFER_NAME = "NovaModelMatrixUBO";
    constexpr const char* PER_FRAME_DATA_NAME = "NovaPerFrameUBO";

    constexpr uint32_t AMD_PCI_VENDOR_ID = 0x1022;
    constexpr uint32_t INTEL_PCI_VENDOR_ID = 8086;
    constexpr uint32_t NVIDIA_PCI_VENDOR_ID = 0x10DE;

    constexpr uint32_t NUM_IN_FLIGHT_FRAMES = 3;

    constexpr mem::Bytes PER_FRAME_MEMORY_SIZE = 2_mb;

    constexpr const char* RENDERPACK_DIRECTORY = "shaderpacks";
    constexpr const char* MATERIALS_DIRECTORY = "materials";
    constexpr const char* SHADERS_DIRECTORY = "shaders";
    constexpr const char* RENDERPACK_DESCRIPTOR_FILE = "renderpack.json";
    constexpr const char* RESOURCES_FILE = "resources.json";
    constexpr const char* MATERIAL_FILE_EXTENSION = ".mat";

    /*!
     * \brief Name of Nova's white texture
     *
     * The white texture is a 4x4 texture where each texel has the RGBA value of (1, 1, 1, 1)
     */
    constexpr const char* WHITE_TEXTURE_NAME = "NovaWhiteTexture";

    /*!
     * \brief Name of Nova's gray texture
     *
     * The gray texture is a 4x4 texture where each texel has the RGBA value of (0.5, 0.5, 0.5, 0.5)
     */
    constexpr const char* GRAY_TEXTURE_NAME = "NovaGrayTexture";

    /*!
     * \brief Name of Nova's black texture
     *
     * The black texture is a 4x4 texture where each texel has the RGBA value of (0, 0, 0, 0)
     */
    constexpr const char* BLACK_TEXTURE_NAME = "NovaBlackTexture";

    /*!
     * \brief Name of the builtin pass Nova uses to render UI
     *
     * This pass reads from the writes to the backbuffer. UI renderpasses are expected to use something like blending or the stencil butter
     * to layer the UI on top of the 3D scene.
     */
    constexpr const char* UI_RENDER_PASS_NAME = "NovaUI";

    constexpr const char* UI_MATERIAL_NAME = "BestFriendGUI";

    constexpr const char* UI_MATERIAL_PASS_NAME = "BestFriendGUI";

    /*!
     * \brief Name of the render target that renderpacks must render to
     */
    constexpr const char* SCENE_OUTPUT_RT_NAME = "NovaSceneOutput";

    /*!
     * \brief Name of the UI render target
     *
     * All UI renderpasses MUST will render to this render target
     */<commit_msg>[util] Remove a Best Friend constaant that snuck in<commit_after>//! \brief A collection of constants for Nova to use

#pragma once

#include "nova_renderer/memory/bytes.hpp"

using namespace nova::mem::operators;

namespace nova::renderer {
    constexpr const char* MODEL_MATRIX_BUFFER_NAME = "NovaModelMatrixUBO";
    constexpr const char* PER_FRAME_DATA_NAME = "NovaPerFrameUBO";

    constexpr uint32_t AMD_PCI_VENDOR_ID = 0x1022;
    constexpr uint32_t INTEL_PCI_VENDOR_ID = 8086;
    constexpr uint32_t NVIDIA_PCI_VENDOR_ID = 0x10DE;

    constexpr uint32_t NUM_IN_FLIGHT_FRAMES = 3;

    constexpr mem::Bytes PER_FRAME_MEMORY_SIZE = 2_mb;

    constexpr const char* RENDERPACK_DIRECTORY = "shaderpacks";
    constexpr const char* MATERIALS_DIRECTORY = "materials";
    constexpr const char* SHADERS_DIRECTORY = "shaders";
    constexpr const char* RENDERPACK_DESCRIPTOR_FILE = "renderpack.json";
    constexpr const char* RESOURCES_FILE = "resources.json";
    constexpr const char* MATERIAL_FILE_EXTENSION = ".mat";

    /*!
     * \brief Name of Nova's white texture
     *
     * The white texture is a 4x4 texture where each texel has the RGBA value of (1, 1, 1, 1)
     */
    constexpr const char* WHITE_TEXTURE_NAME = "NovaWhiteTexture";

    /*!
     * \brief Name of Nova's gray texture
     *
     * The gray texture is a 4x4 texture where each texel has the RGBA value of (0.5, 0.5, 0.5, 0.5)
     */
    constexpr const char* GRAY_TEXTURE_NAME = "NovaGrayTexture";

    /*!
     * \brief Name of Nova's black texture
     *
     * The black texture is a 4x4 texture where each texel has the RGBA value of (0, 0, 0, 0)
     */
    constexpr const char* BLACK_TEXTURE_NAME = "NovaBlackTexture";

    /*!
     * \brief Name of the builtin pass Nova uses to render UI
     *
     * This pass reads from the writes to the backbuffer. UI renderpasses are expected to use something like blending or the stencil butter
     * to layer the UI on top of the 3D scene.
     */
    constexpr const char* UI_RENDER_PASS_NAME = "NovaUI";

    /*!
     * \brief Name of the renderpass that outputs to the backbuffer
     */
    constexpr const char* BACKBUFFER_OUTPUT_RENDER_PASS_NAME = "BackbufferOutput";

    /*!
     * \brief Name of the render target that renderpacks must render to
     */
    constexpr const char* SCENE_OUTPUT_RT_NAME = "NovaSceneOutput";

    /*!
     * \brief Name of the UI render target
     *
     * All UI renderpasses MUST will render to this render target
     */
{'fraction_non_alphanumeric': 0.07753196671402476, 'fraction_numerical': 0.018266693728435153, 'mean_word_length': 3.1692047377326564, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2252505', 'n_tokens_mistral': 1671, 'n_tokens_neox': 1559, 'n_words': 533}