Added reasons to assertions
This commit is contained in:
@ -18,7 +18,7 @@ Texture::Texture() : ITexture() {
|
||||
}
|
||||
|
||||
void Texture::bind(textureslot_t slot) {
|
||||
assertTrue(this->id != -1);
|
||||
assertTrue(this->id != -1, "Texture::bind: Texture is not ready!");
|
||||
glActiveTexture(GL_TEXTURE0 + slot);
|
||||
glBindTexture(GL_TEXTURE_2D, this->id);
|
||||
|
||||
@ -108,7 +108,7 @@ void Texture::updateTextureProperties() {
|
||||
break;
|
||||
|
||||
default:
|
||||
assertUnreachable();
|
||||
assertUnreachable("Texture::updateTextureProperties: Unknown wrap mode!");
|
||||
}
|
||||
};
|
||||
|
||||
@ -156,7 +156,7 @@ void Texture::updateTextureProperties() {
|
||||
}
|
||||
|
||||
default: {
|
||||
assertUnreachable();
|
||||
assertUnreachable("Texture::updateTextureProperties: Unknown filter mode!");
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -166,7 +166,7 @@ void Texture::updateTextureProperties() {
|
||||
}
|
||||
|
||||
void Texture::bufferRaw(void *data) {
|
||||
assertTrue(this->isReady());
|
||||
assertTrue(this->isReady(), "Texture::bufferRaw: Texture is not ready!");
|
||||
|
||||
GLenum format;
|
||||
switch(this->format) {
|
||||
@ -187,7 +187,7 @@ void Texture::bufferRaw(void *data) {
|
||||
break;
|
||||
|
||||
default:
|
||||
assertUnreachable();
|
||||
assertUnreachable("Texture::bufferRaw: Unknown texture format!");
|
||||
}
|
||||
|
||||
GLenum dataFormat;
|
||||
@ -201,7 +201,7 @@ void Texture::bufferRaw(void *data) {
|
||||
break;
|
||||
|
||||
default:
|
||||
assertUnreachable();
|
||||
assertUnreachable("Texture::bufferRaw: Unknown texture data format!");
|
||||
}
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, this->id);
|
||||
@ -215,18 +215,18 @@ void Texture::bufferRaw(void *data) {
|
||||
}
|
||||
|
||||
void Texture::buffer(struct ColorU8 pixels[]) {
|
||||
assertTrue(this->dataFormat == TEXTURE_DATA_FORMAT_UNSIGNED_BYTE);
|
||||
assertTrue(this->dataFormat == TEXTURE_DATA_FORMAT_UNSIGNED_BYTE, "Texture::buffer: Texture data format must be unsigned byte!");
|
||||
this->bufferRaw((void*)pixels);
|
||||
}
|
||||
|
||||
void Texture::buffer(struct Color pixels[]) {
|
||||
assertTrue(this->dataFormat == TEXTURE_DATA_FORMAT_FLOAT);
|
||||
assertTrue(this->format == TEXTURE_FORMAT_RGBA);
|
||||
assertTrue(this->dataFormat == TEXTURE_DATA_FORMAT_FLOAT, "Texture::buffer: Texture data format must be float!");
|
||||
assertTrue(this->format == TEXTURE_FORMAT_RGBA, "Texture::buffer: Texture format must be RGBA!");
|
||||
this->bufferRaw((void*)pixels);
|
||||
}
|
||||
|
||||
void Texture::buffer(uint8_t pixels[]) {
|
||||
assertTrue(this->dataFormat == TEXTURE_DATA_FORMAT_UNSIGNED_BYTE);
|
||||
assertTrue(this->dataFormat == TEXTURE_DATA_FORMAT_UNSIGNED_BYTE, "Texture::buffer: Texture data format must be unsigned byte!");
|
||||
this->bufferRaw((void*)pixels);
|
||||
}
|
||||
|
||||
|
@ -16,8 +16,8 @@ Texture * TextureRenderTarget::getTexture() {
|
||||
}
|
||||
|
||||
void TextureRenderTarget::setSize(float_t width, float_t height) {
|
||||
assertTrue(width > 0);
|
||||
assertTrue(height > 0);
|
||||
assertTrue(width > 0, "TextureRenderTarget::setSize: Width must be greater than 0!");
|
||||
assertTrue(height > 0, "TextureRenderTarget::setSize: Height must be greater than 0!");
|
||||
|
||||
if(width == this->getWidth() && height == this->getHeight()) return;
|
||||
|
||||
@ -50,7 +50,7 @@ void TextureRenderTarget::setSize(float_t width, float_t height) {
|
||||
|
||||
// Validate things went correct.
|
||||
if(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
|
||||
assertUnreachable();
|
||||
assertUnreachable("TextureRenderTarget::setSize: Framebuffer is not complete!");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -73,7 +73,11 @@ void Mesh::disposeBuffers() {
|
||||
}
|
||||
|
||||
void Mesh::bufferPositions(int32_t pos, glm::vec3 *positions, int32_t len) {
|
||||
assertNotNull(positions);
|
||||
assertNotNull(positions, "Mesh::bufferPositions: Positions cannot be null");
|
||||
assertTrue(pos >= 0 && pos < this->verticeCount, "Mesh::bufferPositions: Position must be within range");
|
||||
assertTrue(pos+len <= this->verticeCount, "Mesh::bufferPositions: Position + Length must be within range");
|
||||
assertTrue(len > 0, "Mesh::bufferPositions: Length must be greater than zero");
|
||||
|
||||
glBindBuffer(GL_ARRAY_BUFFER, this->vertexBuffer);
|
||||
glBufferSubData(
|
||||
GL_ARRAY_BUFFER,
|
||||
@ -84,7 +88,10 @@ void Mesh::bufferPositions(int32_t pos, glm::vec3 *positions, int32_t len) {
|
||||
}
|
||||
|
||||
void Mesh::bufferCoordinates(int32_t pos, glm::vec2 *coordinates, int32_t len) {
|
||||
assertNotNull(coordinates);
|
||||
assertNotNull(coordinates, "Mesh::bufferCoordinates: Coordinates cannot be null");
|
||||
assertTrue(pos >= 0 && pos < this->verticeCount, "Mesh::bufferCoordinates: Position must be within range");
|
||||
assertTrue(pos+len <= this->verticeCount, "Mesh::bufferCoordinates: Position + Length must be within range");
|
||||
assertTrue(len > 0, "Mesh::bufferCoordinates: Length must be greater than zero");
|
||||
|
||||
auto offsetCoordinates = (
|
||||
(sizeof(glm::vec3) * this->verticeCount) +
|
||||
@ -101,7 +108,11 @@ void Mesh::bufferCoordinates(int32_t pos, glm::vec2 *coordinates, int32_t len) {
|
||||
}
|
||||
|
||||
void Mesh::bufferIndices(int32_t pos, meshindice_t *indices, int32_t len) {
|
||||
assertNotNull(indices);
|
||||
assertNotNull(indices, "Mesh::bufferIndices: Indices cannot be null");
|
||||
assertTrue(pos >= 0 && pos < this->indiceCount, "Mesh::bufferIndices: Position must be within range");
|
||||
assertTrue(pos+len <= this->indiceCount, "Mesh::bufferIndices: Position + Length must be within range");
|
||||
assertTrue(len > 0, "Mesh::bufferIndices: Length must be greater than zero");
|
||||
|
||||
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, this->indexBuffer);
|
||||
glBufferSubData(
|
||||
GL_ELEMENT_ARRAY_BUFFER,
|
||||
|
@ -27,7 +27,7 @@ namespace Dawn {
|
||||
|
||||
public:
|
||||
void init() {
|
||||
assertTrue(this->id == -1);
|
||||
assertTrue(this->id == -1, "ShaderParameterBuffer::init: ShaderParameterBuffer is already initialized!");
|
||||
this->size = sizeof(T);
|
||||
glGenBuffers(1, &this->id);
|
||||
|
||||
@ -50,7 +50,7 @@ namespace Dawn {
|
||||
}
|
||||
|
||||
void bind(shaderbufferslot_t location) override {
|
||||
assertTrue(this->isReady());
|
||||
assertTrue(this->isReady(), "ShaderParameterBuffer::bind: ShaderParameterBuffer is not ready!");
|
||||
glBindBuffer(GL_UNIFORM_BUFFER, this->id);
|
||||
glBindBufferBase(GL_UNIFORM_BUFFER, location, this->id);
|
||||
}
|
||||
@ -73,7 +73,7 @@ namespace Dawn {
|
||||
* @param length Length of the data to buffer.
|
||||
*/
|
||||
void bufferRaw(void *data, size_t start, size_t length) {
|
||||
assertTrue(this->isReady());
|
||||
assertTrue(this->isReady(), "ShaderParameterBuffer::bufferRaw: ShaderParameterBuffer is not ready!");
|
||||
glBindBuffer(GL_UNIFORM_BUFFER, this->id);
|
||||
glBufferSubData(GL_UNIFORM_BUFFER, start, length, (void*)((size_t)data + start));
|
||||
}
|
||||
|
@ -26,9 +26,9 @@ std::vector<struct ShaderPassItem> SimpleBillboardedMaterial::getRenderPasses(IR
|
||||
auto mesh = this->item->getComponent<MeshRenderer>();
|
||||
auto shader = this->getGame()->renderManager.getShaderManager()->getShader<SimpleBillboardedShader>(this->shaderLock);
|
||||
|
||||
assertNotNull(mesh);
|
||||
assertNotNull(mesh->mesh);
|
||||
assertNotNull(shader);
|
||||
assertNotNull(mesh, "SimpleBillboardedMaterial::getRenderPasses: Mesh cannot be null");
|
||||
assertNotNull(mesh->mesh, "SimpleBillboardedMaterial::getRenderPasses: Mesh cannot be null");
|
||||
assertNotNull(shader, "SimpleBillboardedMaterial::getRenderPasses: Shader cannot be null");
|
||||
|
||||
struct ShaderPassItem onlyPass;
|
||||
onlyPass.mesh = mesh->mesh;
|
||||
|
@ -25,9 +25,9 @@ std::vector<struct ShaderPassItem> SimpleTexturedMaterial::getRenderPasses(IRend
|
||||
auto mesh = this->item->getComponent<MeshRenderer>();
|
||||
auto shader = this->getGame()->renderManager.getShaderManager()->getShader<SimpleTexturedShader>(this->shaderLock);
|
||||
|
||||
assertNotNull(mesh);
|
||||
assertNotNull(mesh->mesh);
|
||||
assertNotNull(shader);
|
||||
assertNotNull(mesh, "SimpleTexturedMaterial::getRenderPasses: Mesh cannot be null");
|
||||
assertNotNull(mesh->mesh, "SimpleTexturedMaterial::getRenderPasses: Mesh cannot be null");
|
||||
assertNotNull(shader, "SimpleTexturedMaterial::getRenderPasses: Shader cannot be null");
|
||||
|
||||
struct ShaderPassItem onlyPass;
|
||||
onlyPass.mesh = mesh->mesh;
|
||||
|
Reference in New Issue
Block a user