Compare commits
2 Commits
31820dd7cd
...
570ad74885
| Author | SHA1 | Date | |
|---|---|---|---|
| 570ad74885 | |||
| 328945e6fc |
@@ -109,8 +109,8 @@ unsigned int createShader(char* vertexPath, char* fragmentPath) {
|
|||||||
fread(vertex_src, sizeof(char), vertex_length, vertex_file );
|
fread(vertex_src, sizeof(char), vertex_length, vertex_file );
|
||||||
fread(fragment_src, sizeof(char), fragment_length, fragment_file );
|
fread(fragment_src, sizeof(char), fragment_length, fragment_file );
|
||||||
|
|
||||||
vertex_src[vertex_length+1] = '\0';
|
vertex_src[vertex_length] = '\0';
|
||||||
fragment_src[fragment_length+1] = '\0';
|
fragment_src[fragment_length] = '\0';
|
||||||
// printf("%s", vertex_src);
|
// printf("%s", vertex_src);
|
||||||
// printf("%s", fragment_src);
|
// printf("%s", fragment_src);
|
||||||
|
|
||||||
|
|||||||
28
src/lorenz.c
28
src/lorenz.c
@@ -30,13 +30,11 @@ void lorenzStep(float next[3], vec3 prev, float dt) {
|
|||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
GLFWwindow* window;
|
GLFWwindow* window = initOpenGL();
|
||||||
window = initOpenGL();
|
|
||||||
glfwSetKeyCallback(window, &key_pressed);
|
glfwSetKeyCallback(window, &key_pressed);
|
||||||
|
|
||||||
// CreateShader
|
// CreateShader
|
||||||
unsigned int shader1;
|
unsigned int shader1 = createShader("assets/shaders/vertex.glsl\0", "assets/shaders/fragment.glsl\0");
|
||||||
shader1 = createShader("assets/shaders/vertex.glsl\0", "assets/shaders/fragment.glsl\0");
|
|
||||||
|
|
||||||
// Initialise VBO and VAO
|
// Initialise VBO and VAO
|
||||||
unsigned int VAO, VBO;
|
unsigned int VAO, VBO;
|
||||||
@@ -63,6 +61,9 @@ int main(int argc, char *argv[]) {
|
|||||||
memset(lorenzPoints, 0, 3000 * sizeof(vec3));
|
memset(lorenzPoints, 0, 3000 * sizeof(vec3));
|
||||||
vec3 initial = {0.1f, 0.1f, 0.1f};
|
vec3 initial = {0.1f, 0.1f, 0.1f};
|
||||||
memcpy(lorenzPoints, initial, sizeof(vec3));
|
memcpy(lorenzPoints, initial, sizeof(vec3));
|
||||||
|
vec3 sec = {1.0f, 1.0f, 1.0f};
|
||||||
|
memcpy(lorenzPoints, sec, sizeof(vec3));
|
||||||
|
|
||||||
|
|
||||||
int i=1;
|
int i=1;
|
||||||
while(!glfwWindowShouldClose(window)) {
|
while(!glfwWindowShouldClose(window)) {
|
||||||
@@ -70,17 +71,19 @@ int main(int argc, char *argv[]) {
|
|||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||||
glUseProgram(shader1);
|
glUseProgram(shader1);
|
||||||
|
|
||||||
float increment = 0.1* (float)i;
|
if(i<3000){
|
||||||
float next[3] = {increment, increment, increment};
|
float increment = 0.1* (float)i;
|
||||||
//lorenzStep(next, lorenzPoints[i], 0.01f);
|
float next[3] = {increment, increment, increment};
|
||||||
memcpy(lorenzPoints[i++], next, sizeof(vec3));
|
//lorenzStep(next, lorenzPoints[i], 0.01f);
|
||||||
|
memcpy(lorenzPoints[i++], next, sizeof(vec3));
|
||||||
|
|
||||||
|
|
||||||
float* buff = glMapBuffer(GL_ARRAY_BUFFER, GL_WRITE_ONLY);
|
float* buff = glMapBuffer(GL_ARRAY_BUFFER, GL_WRITE_ONLY);
|
||||||
memcpy(buff, lorenzPoints, i * sizeof(vec3));
|
memcpy(buff, lorenzPoints, i * sizeof(vec3));
|
||||||
glUnmapBuffer(GL_ARRAY_BUFFER);
|
glUnmapBuffer(GL_ARRAY_BUFFER);
|
||||||
|
}
|
||||||
|
|
||||||
glDrawArrays(GL_LINE_STRIP, 0, i);
|
glDrawArrays(GL_POINTS, 10, 2);
|
||||||
glfwSwapBuffers(window);
|
glfwSwapBuffers(window);
|
||||||
glfwPollEvents();
|
glfwPollEvents();
|
||||||
processInput();
|
processInput();
|
||||||
@@ -88,6 +91,7 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
glDeleteVertexArrays(1, &VAO);
|
glDeleteVertexArrays(1, &VAO);
|
||||||
glDeleteBuffers(1, &VBO);
|
glDeleteBuffers(1, &VBO);
|
||||||
|
free(lorenzPoints);
|
||||||
glfwTerminate();
|
glfwTerminate();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user