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

3
ในเกม AAA รุ่นใหม่ที่มีสภาพแวดล้อมเปิดและมีเนื้อหาสแตติกจำนวนมาก (เช่น crysis) การคัดแบบบดเคี้ยวจะทำอย่างไร?
สองความคิดที่ฉันมีอยู่ในใจ: 1) ฉากถูกสร้างการแสดงผลให้กับบัฟเฟอร์ที่มองไม่เห็นโดยใช้ความละเอียดต่ำและรูปแบบการนับโพลิกอนต่ำ (หรือแม้กระทั่งการใช้ปริมาณที่ จำกัด ขอบเขตอย่างลูกบาศก์หรือทรงกลมเท่านั้น) บัฟเฟอร์จะถูกตรวจสอบเพื่อให้ทราบว่าสามารถมองเห็นได้หรือไม่ ก่อนเรนเดอร์ฉากที่มีความละเอียดต่ำสามารถใช้การคัดแบบ frustum เพื่อกำจัดวัตถุให้ได้มากที่สุด 2) เครื่องมือทำงานบนแผนที่แบบคงที่และจะทำการติดตามเรย์ที่ซับซ้อน (และทำให้ช้า) เพื่อให้ทราบตำแหน่ง 3 มิติบางอย่างบนแผนที่สิ่งที่มองเห็นได้และสิ่งที่ไม่ได้เป็น ข้อมูลทั้งหมดนั้นจะถูกเก็บไว้ในวิธีที่มีประสิทธิภาพที่สามารถเป็นผู้ใช้ในภายหลังที่รันไทม์ (เช่น: octree) โซลูชันนี้จะใช้ได้เฉพาะกับตาข่ายแบบคงที่ (เช่น: อาคาร) ไม่ใช่วัตถุที่เคลื่อนไหว

5
ทำไมฉันไม่สามารถใช้โอเปอเรเตอร์ '> =' กับ Vector3s ได้
ฉันพยายามที่จะได้รับรูปสี่เหลี่ยมผืนผ้าย้ายไปมาระหว่างสองตำแหน่งที่ผมพูดถึงและ_positionA ทั้งสองประเภท_positionB Vector3สี่เหลี่ยมผืนผ้าเคลื่อนไหวได้ดี อย่างไรก็ตามเมื่อมันมาถึง_positionBมันจะไม่เคลื่อนที่ในทิศทางตรงกันข้ามเหมือนอย่างที่ควร ฉันกลับไปที่โค้ดเพื่อดู ฉันมาถึงข้อสรุปว่าเป็นวัตถุย้ายที่ifงบในรหัสพลาดเฟรมซึ่งในตำแหน่ง rects _positionBเท่ากับ ฉันตัดสินใจที่จะปรับเปลี่ยนรหัสไปในทิศทางที่ตรงกันข้ามถ้าตำแหน่ง rects คือมากกว่าหรือเท่ากับ _positionBรหัสของฉันไม่ยาวเกินไปดังนั้นฉันจะแสดงด้านล่าง: using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 

1
gluLookAt ทำงานอย่างไร
จากความเข้าใจของฉัน gluLookAt( eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z ); เทียบเท่ากับ: glRotatef(B, 0.0, 0.0, 1.0); glRotatef(A, wx, wy, wz); glTranslatef(-eye_x, -eye_y, -eye_z); แต่เมื่อฉันพิมพ์ModelViewเมทริกซ์การเรียกเพื่อglTranslatef()ดูเหมือนจะทำงานไม่ถูกต้อง นี่คือข้อมูลโค้ด: #include <stdlib.h> #include <stdio.h> #include <GL/glut.h> #include <iomanip> #include <iostream> #include <string> using namespace std; static const int Rx = 0; static const int …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.