diff --git a/PlannedFunctions.md b/PlannedFunctions.md index c571eade..edbab9cf 100644 --- a/PlannedFunctions.md +++ b/PlannedFunctions.md @@ -1,90 +1,185 @@ +## OpenGL State Manager + ### **1. Initialization & Query Functions** -[ ] `glGetAttribLocation` -[ ] `glGetBufferParameteriv` -[ ] `glGetError` -[ ] `glGetIntegerv` -[ ] `glGetProgramiv` -[ ] `glGetShaderiv` -[ ] `glGetString` -[ ] `glGetStringi` -[ ] `glGetTexLevelParameteriv` -[ ] `glGetUniformLocation` +- [ ] glGetAttribLocation +- [ ] glGetBufferParameteriv +- [x] glGetError +- [ ] glGetIntegerv +- [ ] glGetProgramiv +- [ ] glGetShaderiv +- [x] glGetString +- [x] glGetStringi +- [x] glGetTexLevelParameteriv +- [ ] glGetUniformLocation --- ### **2. Texture Operations** -[ ] `glActiveTexture` -[ ] `glBindTexture` -[ ] `glDeleteTextures` -[ ] `glGenTextures` -[ ] `glTexImage2D` -[ ] `glTexParameterf` -[ ] `glTexParameteri` -[ ] `glTexSubImage2D` +- [x] glActiveTexture +- [x] glBindTexture +- [x] glDeleteTextures +- [x] glGenTextures +- [x] glTexImage2D +- [x] glTexParameterf +- [x] glTexParameteri +- [x] glTexSubImage2D --- ### **3. Framebuffer Operations** -[ ] `glBindFramebuffer` -[ ] `glCheckFramebufferStatus` -[ ] `glDeleteFramebuffers` -[ ] `glFramebufferTexture2D` -[ ] `glGenFramebuffers` +- [ ] glBindFramebuffer +- [ ] glCheckFramebufferStatus +- [ ] glDeleteFramebuffers +- [ ] glFramebufferTexture2D +- [ ] glGenFramebuffers --- ### **4. Shader & Program Management** -[ ] `glAttachShader` -[ ] `glBindAttribLocation` -[ ] `glCompileShader` -[ ] `glCreateProgram` -[ ] `glCreateShader` -[ ] `glDeleteProgram` -[ ] `glDeleteShader` -[ ] `glLinkProgram` -[ ] `glShaderSource` -[ ] `glUseProgram` +- [ ] glAttachShader +- [ ] glBindAttribLocation +- [ ] glCompileShader +- [ ] glCreateProgram +- [ ] glCreateShader +- [ ] glDeleteProgram +- [ ] glDeleteShader +- [ ] glLinkProgram +- [ ] glShaderSource +- [ ] glUseProgram --- ### **5. Buffer & Vertex Array Operations** -[ ] `glBindBuffer` -[ ] `glBindVertexArray` -[ ] `glBufferData` -[ ] `glEnableVertexAttribArray` -[ ] `glGenBuffers` -[ ] `glGenVertexArrays` -[ ] `glMapBuffer` -[ ] `glUnmapBuffer` -[ ] `glVertexAttribIPointer` -[ ] `glVertexAttribPointer` +- [ ] glBindBuffer +- [ ] glBindVertexArray +- [ ] glBufferData +- [ ] glEnableVertexAttribArray +- [ ] glGenBuffers +- [ ] glGenVertexArrays +- [ ] glMapBuffer +- [ ] glUnmapBuffer +- [ ] glVertexAttribIPointer +- [ ] glVertexAttribPointer --- ### **6. State Management** -[ ] `glBlendFunc` -[ ] `glBlendFuncSeparate` -[ ] `glClear` -[ ] `glClearColor` -[ ] `glClearDepth` -[ ] `glColorMask` -[ ] `glDepthFunc` -[ ] `glDepthMask` -[ ] `glDisable` -[ ] `glEnable` -[ ] `glPixelStorei` -[ ] `glViewport` +- [ ] glBlendFunc +- [ ] glBlendFuncSeparate +- [ ] glClear +- [ ] glClearColor +- [ ] glClearDepth +- [ ] glColorMask +- [ ] glDepthFunc +- [ ] glDepthMask +- [ ] glDisable +- [ ] glEnable +- [ ] glPixelStorei +- [ ] glViewport --- ### **7. Uniforms & Attributes** -[ ] `glUniform1fv` -[ ] `glUniform1i` -[ ] `glUniform1iv` -[ ] `glUniform4fv` -[ ] `glUniformMatrix4fv` +- [ ] glUniform1fv +- [ ] glUniform1i +- [ ] glUniform1iv +- [ ] glUniform4fv +- [ ] glUniformMatrix4fv --- ### **8. Drawing Commands** -[ ] `glDrawElements` \ No newline at end of file +- [ ] glDrawElements + +## Abstraction Layer (MG_RHI) + +### **1. Initialization & Query Functions** +- [ ] glGetAttribLocation +- [ ] glGetBufferParameteriv +- [ ] glGetError +- [ ] glGetIntegerv +- [ ] glGetProgramiv +- [ ] glGetShaderiv +- [ ] glGetString +- [ ] glGetStringi +- [ ] glGetTexLevelParameteriv +- [ ] glGetUniformLocation + +--- + +### **2. Texture Operations** +- [ ] glActiveTexture +- [ ] glBindTexture +- [ ] glDeleteTextures +- [ ] glGenTextures +- [ ] glTexImage2D +- [ ] glTexParameterf +- [ ] glTexParameteri +- [ ] glTexSubImage2D + +--- + +### **3. Framebuffer Operations** +- [ ] glBindFramebuffer +- [ ] glCheckFramebufferStatus +- [ ] glDeleteFramebuffers +- [ ] glFramebufferTexture2D +- [ ] glGenFramebuffers + +--- + +### **4. Shader & Program Management** +- [ ] glAttachShader +- [ ] glBindAttribLocation +- [ ] glCompileShader +- [ ] glCreateProgram +- [ ] glCreateShader +- [ ] glDeleteProgram +- [ ] glDeleteShader +- [ ] glLinkProgram +- [ ] glShaderSource +- [ ] glUseProgram + +--- + +### **5. Buffer & Vertex Array Operations** +- [ ] glBindBuffer +- [ ] glBindVertexArray +- [ ] glBufferData +- [ ] glEnableVertexAttribArray +- [ ] glGenBuffers +- [ ] glGenVertexArrays +- [ ] glMapBuffer +- [ ] glUnmapBuffer +- [ ] glVertexAttribIPointer +- [ ] glVertexAttribPointer + +--- + +### **6. State Management** +- [ ] glBlendFunc +- [ ] glBlendFuncSeparate +- [ ] glClear +- [ ] glClearColor +- [ ] glClearDepth +- [ ] glColorMask +- [ ] glDepthFunc +- [ ] glDepthMask +- [ ] glDisable +- [ ] glEnable +- [ ] glPixelStorei +- [ ] glViewport + +--- + +### **7. Uniforms & Attributes** +- [ ] glUniform1fv +- [ ] glUniform1i +- [ ] glUniform1iv +- [ ] glUniform4fv +- [ ] glUniformMatrix4fv + +--- + +### **8. Drawing Commands** +- [ ] glDrawElements \ No newline at end of file diff --git a/README.md b/README.md index 2434130c..c3dc9b4f 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,20 @@ **Target**: **OpenGL 3.2 Core Profile** -| Component | Development Progress | -|----------------------------|----------------------| -| OpenGL State Manager | < 1% | -| Abstraction Layer (MG_RHI) | < 1% | -| Vulkan Backend | < 1% (of MG_RHI) | +| Component | Development Progress | +|--------------------------------|----------------------| +| **OpenGL State Manager** | **5% ~ 7.5%** | +| **Abstraction Layer (MG_RHI)** | **0%** | +| **Vulkan Backend** | **N/A** (of MG_RHI) | -*Note: All components are currently in preliminary architectural design phase, with core development not yet commenced.* \ No newline at end of file +--- + +**Target**: **OpenGL implementation compatible with Minecraft 1.17 to 1.12.4** + +| Component | Development Progress\* | +|--------------------------------|------------------------| +| **OpenGL State Manager** | **12 / 65** | +| **Abstraction Layer (MG_RHI)** | **0 / 65** | +| **Vulkan Backend** | **N/A** (of MG_RHI) | + +\* *The number of functions that have been implemented* \ No newline at end of file