mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-07 22:55:40 +12:00
26 lines
No EOL
658 B
C++
26 lines
No EOL
658 B
C++
#pragma once
|
|
#include <string>
|
|
|
|
#include "PICA/gpu.hpp"
|
|
#include "PICA/regs.hpp"
|
|
#include "helpers.hpp"
|
|
|
|
namespace PICA::ShaderGen {
|
|
// Graphics API this shader is targetting
|
|
enum class API { GL, GLES, Vulkan };
|
|
|
|
// Shading language to use (Only GLSL for the time being)
|
|
enum class Language { GLSL };
|
|
|
|
class FragmentGenerator {
|
|
using PICARegs = std::array<u32, 0x300>;
|
|
API api;
|
|
Language language;
|
|
|
|
void compileTEV(std::string& shader, int stage, const PICARegs& regs);
|
|
|
|
public:
|
|
FragmentGenerator(API api, Language language) : api(api), language(language) {}
|
|
std::string generate(const PICARegs& regs);
|
|
};
|
|
}; // namespace PICA::ShaderGen
|