Textures are working now
This commit is contained in:
		@@ -39,7 +39,8 @@ namespace Dawn {
 | 
			
		||||
      /**
 | 
			
		||||
       * Cleans up the render pass.
 | 
			
		||||
       */
 | 
			
		||||
      virtual ~IRenderPass() { }
 | 
			
		||||
      virtual ~IRenderPass() {
 | 
			
		||||
      }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  template<class S, typename D>
 | 
			
		||||
@@ -48,7 +49,7 @@ namespace Dawn {
 | 
			
		||||
      std::shared_ptr<S> shader;
 | 
			
		||||
      const std::unordered_map<
 | 
			
		||||
        shadertexturebinding_t, std::shared_ptr<Texture>
 | 
			
		||||
      > &textures;
 | 
			
		||||
      > textures;
 | 
			
		||||
      std::shared_ptr<Mesh> mesh;
 | 
			
		||||
      const enum MeshDrawMode drawMode;
 | 
			
		||||
      const int32_t indiceStart;
 | 
			
		||||
@@ -98,7 +99,6 @@ namespace Dawn {
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      void bind() override {
 | 
			
		||||
        std::cout << "textures: " << textures.size() << "\n";
 | 
			
		||||
        shader->bind();
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@@ -108,7 +108,6 @@ namespace Dawn {
 | 
			
		||||
 | 
			
		||||
      void upload() override {
 | 
			
		||||
        for(auto &pair : textures) {
 | 
			
		||||
          assertNotNull(pair.second, "Texture cannot be null!");
 | 
			
		||||
          pair.second->bind(pair.first);
 | 
			
		||||
        }
 | 
			
		||||
        shader->upload();
 | 
			
		||||
@@ -119,6 +118,9 @@ namespace Dawn {
 | 
			
		||||
          mesh->draw(drawMode, indiceStart, indiceCount);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      ~RenderPass() override {
 | 
			
		||||
      }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  struct RenderPassContext {
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,6 @@ void SimpleTexturedMaterial::setTexture(std::shared_ptr<Texture> texture) {
 | 
			
		||||
  this->texture = texture;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void SimpleTexturedMaterial::setColor(const struct Color color) {
 | 
			
		||||
  this->data.color = color;
 | 
			
		||||
}
 | 
			
		||||
@@ -30,7 +29,6 @@ std::vector<std::shared_ptr<IRenderPass>> SimpleTexturedMaterial::getPasses(
 | 
			
		||||
  this->data.model = this->getItem()->getWorldTransform();
 | 
			
		||||
  this->data.projection = ctx.camera->getProjection();
 | 
			
		||||
  this->data.view = ctx.camera->getItem()->getWorldTransform();
 | 
			
		||||
  this->data.color = COLOR_RED;
 | 
			
		||||
  auto textures = std::unordered_map<
 | 
			
		||||
    shadertexturebinding_t, std::shared_ptr<Texture>
 | 
			
		||||
  >();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user