คำถามติดแท็ก cubemap

4
ดาวเคราะห์ขั้นตอนแผนที่ความสูงและพื้นผิว
ฉันกำลังทำงานกับเครื่องกำเนิดดาวเคราะห์ขั้นตอน OpenGL ฉันหวังว่าจะใช้มันสำหรับเกม RPG อวกาศซึ่งจะไม่อนุญาตให้ผู้เล่นลงไปยังพื้นผิวของดาวเคราะห์ดังนั้นฉันจึงไม่สนใจสิ่งที่เกี่ยวข้องกับ ROAM ในขณะนี้ฉันกำลังวาดลูกบาศก์ด้วย VBO และแมปลงในทรงกลม ฉันคุ้นเคยกับเทคนิคการสร้างส่วนสูงแฟร็กทัลส่วนใหญ่และได้นำการแทนที่มิดพอยต์ของฉันมาใช้แล้ว (ไม่มีประโยชน์ในกรณีนี้ที่ฉันรู้) คำถามของฉันคืออะไรเป็นวิธีที่ดีที่สุดในการสร้างความสูงของแผนที่ ผมมองที่ libnoise ซึ่งจะช่วยให้ฉันเพื่อให้ heightmaps tilable / พื้นผิว แต่เท่าที่ฉันสามารถดูฉันจะต้องสร้างสุทธิเช่นนี้ ปล่อยให้ปูกระเบื้องชัดเจน ใครช่วยแนะนำเส้นทางที่ดีที่สุดให้ฉันได้บ้าง? การป้อนข้อมูลใด ๆ จะได้รับการชื่นชมมาก

1
การนำ skybox ไปใช้กับ GLSL เวอร์ชัน 330
ฉันกำลังพยายามให้สกายบ็อกซ์ทำงานกับ OpenGL 3.3 และ GLSL เวอร์ชัน 330 ฉันไม่สามารถค้นหาการสอน OGL skybox ที่ทันสมัยได้อย่างสมบูรณ์ที่ใดก็ได้บนเว็บดังนั้นฉันจึงทำให้รุ่นเก่า (ใช้glVertexAttribPointer()แทนgl_Vertexจุดยอดเป็นต้น) ส่วนใหญ่ใช้งานได้ แต่สำหรับ 2 รายละเอียดหลัก กล่องสกายนั้นเหมือนรูปสามเหลี่ยมบนท้องฟ้าและพื้นผิวนั้นบิดงอไม่ดีและยืดออก (มันควรจะเป็นทุ่งหญ้าดาวฉันได้รับขณะที่เส้นบนพื้นหลังสีดำ) ฉันแน่ใจ 99% ว่านี่เป็นเพราะฉันไม่ได้ทำการสอนแบบเก่าอย่างสมบูรณ์ นี่คือคลาส skybox ของฉัน: static ShaderProgram* cubeMapShader = nullptr; static const GLfloat vertices[] = { 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, -1.0f, …
14 c++  opengl  glsl  cubemap  skybox 

1
OpenGL / GLSL: แสดงแผนที่เป็นคิวบ์หรือไม่
ฉันพยายามหาวิธีทำให้ฉากของฉันเป็นแผนที่ลูกบาศก์ ฉันติดอยู่กับเรื่องนี้และคิดว่าฉันจะขอความช่วยเหลือจากพวกคุณ ฉันใหม่กับ OpenGL และนี่เป็นครั้งแรกที่ฉันใช้ FBO ขณะนี้ฉันมีตัวอย่างการทำงานของการใช้ไฟล์ cubemap bmp และประเภทตัวอย่าง samplerCube ใน shader ที่ต่อกับ GL_TEXTURE1 ฉันไม่ได้เปลี่ยนรหัส shader เลย ฉันแค่เปลี่ยนความจริงที่ว่าฉันจะไม่เรียกฟังก์ชันที่โหลดไฟล์ cubemap bmp และพยายามใช้โค้ดด้านล่างเพื่อแสดงผลเป็น cubemap คุณสามารถเห็นด้านล่างว่าฉันยังแนบพื้นผิวอีกครั้งกับ GL_TEXTURE1 นี่คือเมื่อฉันตั้งเครื่องแบบ: glUniform1i(getUniLoc(myProg, "Cubemap"), 1); มันสามารถเข้าถึงได้ในส่วน Shader uniform samplerCube Cubemapของฉันผ่านทาง ฉันกำลังเรียกใช้ฟังก์ชันด้านล่างดังนี้: cubeMapTexture = renderToCubeMap(150, GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE); ตอนนี้ฉันรู้แล้วในลูปการวาดด้านล่างว่าฉันไม่ได้เปลี่ยนทิศทางมุมมองเพื่อดูแกน + x, -x, + y, -y, + z, …
13 opengl  glsl  cubemap 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.