daily update on 20241002 by nitload youmu, intrinsic function rebuild, syntax style arrange

This commit is contained in:
Nitload
2024-10-03 04:03:06 +08:00
parent 0979123ac0
commit 6e2f93b053
265 changed files with 26732 additions and 19058 deletions
+51 -53
View File
@@ -1,81 +1,79 @@
#include "ssgc_framework.h"
#include "StgSharpC.h"
#include "gl.h"
#include "glfw3.h"
#include "StgSharpC.h"
#include "ssc_framework.h"
#include <stdio.h>
GladGLContext* currentContext;
GladGLContext *currentContext;
extern char infolog[512] = { 0 };
SSCAPI int SSCDECL glCheckShaderStat(GladGLContext* context,uint64_t shaderHandle , int key, char** logRef)
SSCAPI int SSCDECL glCheckShaderStat(GladGLContext *context,
uint64_t shaderHandle, int key,
char **logRef)
{
int stat = 0;
context->GetShaderiv(shaderHandle, key, &stat);
if (!stat)
{
context->GetShaderInfoLog(shaderHandle, 512, NULL, infolog);
}
*logRef = infolog;
return stat;
int stat = 0;
context->GetShaderiv(shaderHandle, key, &stat);
if (!stat) {
context->GetShaderInfoLog(shaderHandle, 512, NULL, infolog);
}
*logRef = infolog;
return stat;
}
SSCAPI void SSCDECL initGL(int majorVersion, int minorVersion)
{
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, majorVersion);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, minorVersion);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, majorVersion);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, minorVersion);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);
}
SSCAPI GLFWglproc SSCDECL loadGlfuncDefault(char* procName)
SSCAPI GLFWglproc SSCDECL loadGlfuncDefault(char *procName)
{
void* ret = glfwGetProcAddress(procName);
//printf("%llu\n", (uint64_t)ret);
if (ret = NULL)
{
*infolog = "Failed to load OpenGL api:";
for (size_t i = 0; i < sizeof(procName); i++)
{
infolog[30 + i] = procName[i];
void *ret = glfwGetProcAddress(procName);
// printf("%llu\n", (uint64_t)ret);
if (ret = NULL) {
*infolog = "Failed to load OpenGL api:";
for (size_t i = 0; i < sizeof(procName); i++) {
infolog[30 + i] = procName[i];
}
printf("%s\n", infolog);
}
printf("%s\n", infolog);
}
return (GLFWglproc)ret;
return (GLFWglproc)ret;
}
SSCAPI unsigned int linkShaderProgram(GladGLContext* context, GLuint shaderProgram)
SSCAPI unsigned int linkShaderProgram(GladGLContext *context,
GLuint shaderProgram)
{
context->LinkProgram(shaderProgram);
context->LinkProgram(shaderProgram);
int success;
context->GetProgramiv(shaderProgram, GL_LINK_STATUS, &success);
if (!success)
{
context->GetProgramInfoLog(shaderProgram, 512, NULL, infolog);
return 0;
}
else
{
return shaderProgram;
}
int success;
context->GetProgramiv(shaderProgram, GL_LINK_STATUS, &success);
if (!success) {
context->GetProgramInfoLog(shaderProgram, 512, NULL, infolog);
return 0;
} else {
return shaderProgram;
}
}
SSCAPI void SSCDECL loadImageData(char* location, Image* out, imageLoader loader)
SSCAPI void SSCDECL loadImageData(char *location, Image *out,
imageLoader loader)
{
if (loader == NULL)
{
loader = stbi_load;
}
out->pixelPtr = loader(location, &(out->width), &(out->height), &(out->channel), 0);
if (loader == NULL) {
loader = stbi_load;
}
out->pixelPtr = loader(location, &(out->width), &(out->height),
&(out->channel), 0);
}
SSCAPI void SSCDECL unloadImageData(Image* out)
SSCAPI void SSCDECL unloadImageData(Image *out)
{
free(out->pixelPtr);
free(out->pixelPtr);
}
char* _cdecl readLog()
char *_cdecl readLog()
{
infolog[511] = '\0';
return &infolog;
}
infolog[511] = '\0';
return &infolog;
}