#pragma once

#include <vulkan/vulkan.h>
#include <iostream>
#include "GEGraphicsContext.h"
#include "GEDrawingContext.h"

//
// CLASE: GEApplication
//
// DESCRIPCIÓN: Clase que describe un contexto de renderizado (pipeline, renderpass y framebuffer)
//
class GERenderingContext
{
public:
	uint32_t imageCount;

private:
	VkFormat format;
	VkExtent2D extent;
	VkRenderPass renderPass;

public:
	GERenderingContext(GEGraphicsContext* gc, GEDrawingContext* dc);
	void destroy(GEGraphicsContext* gc);

private:
	// Métodos de creación de componentes
	void createRenderPass(GEGraphicsContext* gc);
};

