|
srp
software rendering pipeline
|
#include "texture.h"#include <math.h>#include <stdbool.h>#include <stdint.h>#include <stdio.h>#include "message_callback_p.h"#include "defines.h"#include "math_utils.h"#include "stb_image.h"#include "utils.h"#include "vec.h"#include "texture_p.h"
Functions | |
| SRPTexture * | srpNewTexture (const char *image, SRPTextureWrappingMode wrappingModeX, SRPTextureWrappingMode wrappingModeY, SRPTextureFilteringMode filteringModeMagnifying, SRPTextureFilteringMode filteringModeMinifying) |
| void | srpFreeTexture (SRPTexture *this) |
| void | srpTextureGetFilteredColor (const SRPTexture *this, double u, double v, double out[4]) |
| int | srpTextureGet (SRPTexture *this, SRPTextureParameter parameter) |
| void | srpTextureSet (SRPTexture *this, SRPTextureParameter parameter, int data) |
| #define | N_CHANNELS_REQUESTED 3 |
| static vec4d | textureGetColor (const SRPTexture *this, size_t x, size_t y) |
Texture implementation
| void srpFreeTexture | ( | SRPTexture * | this | ) |
Free a texture
| [in] | this | A pointer to the texture, as returned by srpNewTexture() |
| SRPTexture * srpNewTexture | ( | const char * | image, |
| SRPTextureWrappingMode | wrappingModeX, | ||
| SRPTextureWrappingMode | wrappingModeY, | ||
| SRPTextureFilteringMode | filteringModeMagnifying, | ||
| SRPTextureFilteringMode | filteringModeMinifying | ||
| ) |
Initialize a texture by loading an image
| [in] | image | A filesystem path to an image. Most popular image types are supported |
| [in] | wrappingModeX,wrappingModeY | Wrapping modes to use in X and Y axes |
| [in] | filteringModeMagnifying,filteringModeMinifying | Texture filtering mode to use when magnifying or minifying the texture |
| int srpTextureGet | ( | SRPTexture * | this, |
| SRPTextureParameter | parameter | ||
| ) |
Get a parameter from existing SRPTexture
| [in] | this | A pointer to texture |
| [in] | parameter | A struct member to get |
| void srpTextureGetFilteredColor | ( | const SRPTexture * | this, |
| double | u, | ||
| double | v, | ||
| double | out[4] | ||
| ) |
Now using only filteringModeMagnifying; how to know if texture is magnified or minified?
Too many conditionals?
wrappingMode is untested!
| void srpTextureSet | ( | SRPTexture * | this, |
| SRPTextureParameter | parameter, | ||
| int | data | ||
| ) |
Set a parameter to existing SRPTexture
| [in] | this | A pointer to texture |
| [in] | parameter | A struct member to set to |
| [in] | data | A value to set |