From c2639e3d427869b3038826197efb5bbca759708d Mon Sep 17 00:00:00 2001 From: Tiandians Date: Wed, 21 Jul 2021 17:49:53 +0800 Subject: [PATCH] 7.21 --- OpenGLProject/OpenGLProject.vcxproj | 4 +++- OpenGLProject/OpenGLProject.vcxproj.filters | 8 +++++++- OpenGLProject/main.cpp | 18 ++++++++++-------- OpenGLProject/tcs_plane.glsl | 8 ++++---- 4 files changed, 24 insertions(+), 14 deletions(-) diff --git a/OpenGLProject/OpenGLProject.vcxproj b/OpenGLProject/OpenGLProject.vcxproj index 7b71338..a925994 100755 --- a/OpenGLProject/OpenGLProject.vcxproj +++ b/OpenGLProject/OpenGLProject.vcxproj @@ -20,8 +20,10 @@ - + + + diff --git a/OpenGLProject/OpenGLProject.vcxproj.filters b/OpenGLProject/OpenGLProject.vcxproj.filters index 63e931d..39c17f4 100755 --- a/OpenGLProject/OpenGLProject.vcxproj.filters +++ b/OpenGLProject/OpenGLProject.vcxproj.filters @@ -21,7 +21,13 @@ 源文件 - + + 源文件 + + + 源文件 + + 源文件 diff --git a/OpenGLProject/main.cpp b/OpenGLProject/main.cpp index 13330ff..ccb0e5f 100755 --- a/OpenGLProject/main.cpp +++ b/OpenGLProject/main.cpp @@ -168,9 +168,9 @@ void setupVert_coord(void) { glUseProgram(coordRenderingProgram); float vertCoordPositions[18] = { - -1000.f, 0.0f, 0.0f, 1000.f, 0.0f, 0.0f, - 0.0f, -1000.0f, 0.0f, 0.0f, 1000.0f, 0.0f, - 0.0f, 0.0f, -1000.0f, 0.0f, 0.0f, 1000.0f}; + -10000.f, 0.0f, 0.0f, 10000.f, 0.0f, 0.0f, + 0.0f, -10000.0f, 0.0f, 0.0f, 10000.0f, 0.0f, + 0.0f, 0.0f, -10000.0f, 0.0f, 0.0f, 10000.0f}; glGenBuffers(1, coordVbo); glBindBuffer(GL_ARRAY_BUFFER, coordVbo[0]); @@ -183,8 +183,8 @@ void setupVert_plane(std::vector> const &walls) vector normalVectors; vector locations; float planeVertexPositions[18] = - {5.0f, -5.0f, 0.0f, 5.0f, 5.0f, 0.0f, -5.0f, -5.0f, 0.0f, - -5.0f, -5.0f, 0.0f, -5.0f, 5.0f, 0.0f, 5.0f, 5.0f, 0.0f}; + {1000.0f, -1000.0f, 0.0f, 1000.0f, 1000.0f, 0.0f, -1000.0f, -1000.0f, 0.0f, + -1000.0f, -1000.0f, 0.0f, -1000.0f, 1000.0f, 0.0f, 1000.0f, 1000.0f, 0.0f}; for (auto const &i : walls) { locations.push_back(i->loc().x); @@ -347,6 +347,7 @@ void draw_sphere(vector> const &balls) void draw_wall(vector> const &walls) { glUseProgram(planeRenderingProgram); + glLineWidth(3.0f); glLineWidth(1.0f); //uniform @@ -373,6 +374,7 @@ void draw_wall(vector> const &walls) glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glDrawArraysInstanced(GL_PATCHES, 0, 6, walls.size()); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glLineWidth(1.0f); } void draw_container(vector> const &containers) @@ -450,11 +452,11 @@ int main(void) //string file; //cin >> file; //freopen("event_out.txt", "w", stdout); - ifstream ifstrm("testdata.txt"); + ifstream ifstrm("E:\\Coding\\data\\walls.txt"); //创建碰撞系统 //ifstrm >> cameraLoc >> lookAt >> rot_v; - cameraLoc = glm::vec3(10, 10, 5); + cameraLoc = glm::vec3(100, 100, 50); lookAt = glm::vec3(0.0f); rot_v = 0.05f; CollisionSystem system(ifstrm); @@ -501,7 +503,7 @@ int main(void) //sumexam = 0; }//*/ - system.run(1.0f/30.0f); + //system.run(1.0f/30.0f); //if (system.time() > 30) diff --git a/OpenGLProject/tcs_plane.glsl b/OpenGLProject/tcs_plane.glsl index 6786109..f3943ac 100644 --- a/OpenGLProject/tcs_plane.glsl +++ b/OpenGLProject/tcs_plane.glsl @@ -7,10 +7,10 @@ layout (vertices = 3) out; void main(void) { if(gl_InvocationID==0){ - gl_TessLevelInner[0] = 10.0; - gl_TessLevelOuter[0] = 10.0; - gl_TessLevelOuter[1] = 10.0; - gl_TessLevelOuter[2] = 10.0; + gl_TessLevelInner[0] = 256.0; + gl_TessLevelOuter[0] = 256.0; + gl_TessLevelOuter[1] = 256.0; + gl_TessLevelOuter[2] = 256.0; } gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position; } \ No newline at end of file