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

กระบวนการสร้างภาพหรือชุดของภาพจากแบบจำลองโดยใช้โปรแกรมคอมพิวเตอร์

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


6
LOD ในเกมสมัยใหม่ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ขณะนี้ฉันกำลังทำวิทยานิพนธ์ของอาจารย์เกี่ยวกับLODและการทำให้เข้าใจง่ายขึ้นและฉันได้อ่านบทความวิชาการและบทความเกี่ยวกับเรื่องนี้มากมาย อย่างไรก็ตามฉันไม่สามารถหาข้อมูลเพียงพอเกี่ยวกับวิธีการใช้ LOD ในเกมสมัยใหม่ ฉันรู้ว่าเกมหลายเกมใช้ LOD แบบไดนามิกบางอย่างสำหรับภูมิประเทศ แต่จะเกี่ยวกับที่อื่นบ้าง ยกระดับรายละเอียดของกราฟิก 3 มิติเช่นชี้ให้เห็นว่า LOD แบบไม่ต่อเนื่อง (ที่ซึ่งศิลปินเตรียมรุ่นหลายรุ่นไว้ล่วงหน้า) มีการใช้กันอย่างแพร่หลายเนื่องจากค่าใช้จ่ายของ LOD อย่างต่อเนื่อง อย่างไรก็ตามหนังสือเล่มนั้นตีพิมพ์ในปี 2545 และฉันสงสัยว่าตอนนี้สิ่งต่าง ๆ ได้มีการวิจัยบางอย่างในการปฏิบัติล็อดไดนามิกใช้ Shader เรขาคณิต ( บทความนี้ตัวอย่างเช่นมีการดำเนินการใน ShaderX6) ขอที่จะใช้ในเกมสมัยใหม่? เพื่อสรุปคำถามของฉันเกี่ยวกับสถานะของ LOD ในวิดีโอเกมที่ทันสมัยอัลกอริทึมที่ใช้และทำไม โดยเฉพาะอย่างยิ่งการดูการทำให้ง่ายขึ้นอย่างต่อเนื่องขึ้นอยู่กับการใช้หรือไม่ค่าใช้จ่ายรันไทม์ทำให้การใช้แบบจำลองที่ไม่ต่อเนื่องกับการผสมที่เหมาะสมและ impostors เป็นทางออกที่น่าสนใจมากขึ้น? หากใช้แบบจำลองที่ไม่ต่อเนื่องใช้อัลกอริทึม (เช่นการจัดกลุ่มจุดสุดยอด ) เพื่อสร้างแบบออฟไลน์ศิลปินสร้างแบบจำลองด้วยตนเองหรืออาจใช้ทั้งสองวิธีร่วมกันหรือไม่

2
ฉันจะทำอัลฟ่าโปร่งใสอย่างถูกต้องใน XNA 4.0 ได้อย่างไร
โอเคฉันได้อ่านบทความบทช่วยสอนและคำถามเกี่ยวกับเรื่องนี้แล้ว ส่วนใหญ่ชี้ไปที่เทคนิคเดียวกันซึ่งไม่ได้แก้ปัญหาของฉัน ฉันต้องการความสามารถในการสร้างสไปรต์แบบกึ่งโปร่งใส (ของ texture2D จริงๆ) และให้สไปรต์ซ้อนทับอีก ฉันสามารถทำได้โดยใช้ตัวอย่างโค้ดที่ฉันพบ แต่ฉันไม่พอใจกับผลลัพธ์และฉันรู้ว่ามีวิธีในการทำเช่นนี้ ในการเขียนโปรแกรมมือถือ (BREW) เราทำมันเป็นโรงเรียนเก่าและตรวจสอบแต่ละพิกเซลเพื่อความโปร่งใสก่อนการเรนเดอร์ ในกรณีนี้ดูเหมือนว่าจะทำให้เทพดาด้านล่างมันผสมกับอัลฟาด้านบน นี่อาจเป็นสิ่งประดิษฐ์ของวิธีที่ฉันแสดงพื้นผิว แต่อย่างที่ฉันพูดไปก่อนหน้านี้ทุกตัวอย่างชี้ไปที่เทคนิคนี้ ก่อนที่ฉันจะไปเพิ่มเติมฉันจะไปข้างหน้าและวางรหัสตัวอย่างของฉัน public void Draw(SpriteBatch batch, Camera camera, float alpha) { int tileMapWidth = Width; int tileMapHeight = Height; batch.Begin(SpriteSortMode.Texture, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.Default, RasterizerState.CullNone, null, camera.TransformMatrix); for (int x = 0; x < tileMapWidth; x++) { …
14 xna  2d  c#  rendering  transparency 

4
อะไรคือวิธีที่ทำได้ในการตั้งค่างบประมาณเนื้อหา (เช่นจำนวนรูปหลายเหลี่ยม) สำหรับเนื้อหาระดับในหัวเรื่อง 3 มิติ
ในการตอบคำถามนี้เพื่อ swquinnคำตอบทำให้เกิดคำถามที่ตรงประเด็นมากกว่าที่ฉันต้องการฟังคำตอบ ฉันจะโพสต์กลยุทธ์ของเราเอง (สัญญาว่าจะไม่ยอมรับเป็นคำตอบ) แต่ฉันอยากได้ยินผู้อื่น โดยเฉพาะ: คุณจะกำหนดงบประมาณที่เหมาะสมสำหรับทีมเนื้อหาของคุณอย่างไร โดยทั่วไปแล้วหนึ่งในคำถามแรกที่ถามในการพัฒนาคือ: งบประมาณรูปหลายเหลี่ยมของเราคืออะไร แน่นอนว่าทุกวันนี้เป็นเรื่องยากที่การนับยอด / โพลีคนเดียวเป็นปัจจัย จำกัด แทนความซับซ้อนของ shader อัตราการเติมความซับซ้อนของแสงทั้งหมดมาสู่การเล่น สิ่งที่ทีมงานด้านเนื้อหาต้องการคือจำนวน / ขีด จำกัด ที่ยากต่อการทำงานเพื่อให้พวกเขามีความคาดหวังที่สมเหตุสมผลว่าเนื้อหาของพวกเขาเมื่อเข้าไปในเอ็นจิ้นจริงจะไม่หนักเกินไป เนื่องจากว่า 'มันขึ้นอยู่กับ' ไม่ใช่คำตอบที่มีประโยชน์โดยเฉพาะฉันต้องการได้ยินกลยุทธ์ที่ทำให้ฉันสามารถกำหนดขีด จำกัด ที่สามารถทำงานได้โดยไม่ต้องเป็น) ทำให้เข้าใจผิดหรือ b) ผิด

2
DirectX11 ฉันจะจัดการและอัปเดตบัฟเฟอร์คงที่หลายส่วนได้อย่างไร
เอาล่ะฉันมีเวลายากที่จะเข้าใจว่าบัฟเฟอร์คงที่จะถูกผูกไว้กับขั้นตอนท่อและปรับปรุง ฉันเข้าใจว่า DirectX11 สามารถมีบัฟเฟอร์คงที่ได้ถึง 15 shader ต่อสเตจและแต่ละบัฟเฟอร์สามารถเก็บค่าคงที่ได้มากถึง 4096 ค่า อย่างไรก็ตามฉันไม่เข้าใจว่า ID3D11Buffer COM ที่ใช้ในการโต้ตอบกับบัฟเฟอร์คงที่เป็นเพียงกลไก (หรือที่จับ) ที่ใช้สำหรับเติมช่องบัฟเฟอร์เหล่านี้หรือถ้าวัตถุอ้างอิงตัวอย่างของข้อมูลบัฟเฟอร์ที่ถูกผลักไปมา ระหว่าง GPU และ CPU ฉันคิดว่าความสับสนของฉันในหัวข้อเป็นสาเหตุของปัญหาที่ฉันใช้บัฟเฟอร์คงที่สองแบบ นี่คือตัวอย่างโค้ด shader cbuffer PerFrame : register(b0) { float4x4 view; }; cbuffer PerObject : register(b1) { float4x4 scale; float4x4 rotation; float4x4 translation; }; วิธีการจัดระเบียบรหัสของฉันกล้องจะจัดการอัปเดตข้อมูลที่เกี่ยวข้องต่อเฟรมและ GameObjects จะอัปเดตข้อมูลต่อวัตถุของตัวเอง ทั้งสองคลาสมี ID3D11Buffer ของตัวเองที่ใช้ในการทำสิ่งนี้ (ใช้สถาปัตยกรรมฮับดังนั้นคลาส GameObject …

3
ฉันจะสร้างแผนที่ท้องฟ้าของตัวเองได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว วิธีการ / เครื่องมือในการสร้างท้องฟ้าที่เหมือนจริงด้วยเมฆและการแรเงาในชั้นบรรยากาศคืออะไร? ทางเลือก FOSS และการคาดการณ์ทรงกลมได้รับคะแนนพิเศษ

4
ทำไมคุณถึงใช้การเรนเดอร์ซอฟต์แวร์ผ่านการเรนเดอร์ฮาร์ดแวร์ในวันนี้
ตรงข้ามกับการแสดงผล CPU หรือซอฟต์แวร์ฉันถือว่า? โดยทั่วไปแล้วการแสดงผลในปัจจุบันทั้งหมดจะเป็นไปตาม GPU ใช่ไหมว่าคุณจะใช้ OpenGL หรือ Direct X มีคนให้ข้อมูลฉันที่นี่ไม่พบคำตอบที่เหมาะสมหรือไม่

1
OpenGL - ขอบสีขาวบนก้อน
ในเกมที่คล้ายกับ Minecraft ที่ฉันกำลังสร้างฉันจะได้ขอบขาวบนลูกบาศก์ของฉัน: มันชัดเจนมากขึ้นในพื้นผิวสีเข้ม พื้นผิวกำลังติดตั้งดังนี้: glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); ความช่วยเหลือใด ๆ

1
ข้อมูลเกี่ยวกับการเรนเดอร์แบตช์กราฟิกประสิทธิภาพ ฯลฯ + XNA
ฉันรู้ว่าชื่อค่อนข้างคลุมเครือ แต่ก็ยากที่จะอธิบายสิ่งที่ฉันกำลังมองหา แต่ที่นี่ไป เมื่อพูดถึงการเรนเดอร์ CPU ประสิทธิภาพส่วนใหญ่ง่ายต่อการประมาณและตรงไปตรงมา แต่เมื่อพูดถึง GPU เนื่องจากขาดข้อมูลพื้นฐานทางเทคนิค ฉันใช้ XNA ดังนั้นมันคงจะดีถ้าทฤษฎีนั้นเกี่ยวข้องกับเรื่องนั้น ดังนั้นสิ่งที่ฉันอยากรู้จริง ๆ คืออะไรจะเกิดขึ้นเมื่อใดและที่ไหน (CPU / GPU) เมื่อคุณทำการวาดเฉพาะ ชุดคืออะไร? เอฟเฟกต์การคาดการณ์และอื่น ๆ มีอิทธิพลอย่างไร ข้อมูลยังคงอยู่ในกราฟิกการ์ดหรือถูกถ่ายโอนในทุกขั้นตอนหรือไม่ เมื่อมีการพูดถึงแบนด์วิดธ์คุณกำลังพูดถึงแบนด์วิดธ์ภายในการ์ดกราฟิกหรือไปป์ไลน์จาก CPU ไปยัง GPU หรือไม่? หมายเหตุ:ฉันไม่ได้กำลังมองหาข้อมูลเกี่ยวกับวิธีการวาดเกิดขึ้นนั่นคือธุรกิจของ GPU ฉันสนใจค่าใช้จ่ายทั้งหมดที่อยู่ก่อนหน้านั้น ฉันต้องการที่จะเข้าใจสิ่งที่เกิดขึ้นเมื่อฉันทำการกระทำ X เพื่อปรับสถาปัตยกรรมและการปฏิบัติของฉันให้เป็นแบบนั้น บทความใด ๆ (อาจมีตัวอย่างโค้ด) ข้อมูลลิงค์บทช่วยสอนที่ให้ข้อมูลเชิงลึกมากขึ้นเกี่ยวกับวิธีการเขียนเกมที่ดีขึ้นได้รับการชื่นชมอย่างมาก ขอบคุณ :)

2
ทำซ้ำพื้นผิวใน libgdx
วิธีเติมภูมิภาคด้วยพื้นผิวซ้ำ ๆ ตอนนี้ฉันใช้วิธีถัดไป: spriteBatch.begin(); final int tWidth = texture.getWidth(); final int tHeight = texture.getHeight(); for (int i = 0; i < regionWidth / tWidth; i++) { for (int k = 0; k < regionHeight / tHeight; k++) { spriteBatch.draw(texture, i*tWidth, k); } } spriteBatch.end(); มันชัดเจนมาก อาจจะมีวิธีการใด ๆ ในตัว?

2
การแสดงผลรอการตัดบัญชีคืออนาคตหรือไม่
การเรนเดอร์อนาคตของการเรนเดอร์ 3d แบบเรียลไทม์บนฮาร์ดแวร์พีซี (อย่างน้อยก็จนกว่า raytracing จะเป็นไปได้)? ฉันตระหนักถึงประโยชน์ (แสงจำนวนมากการเปลี่ยนแปลงสถานะน้อยลง) และปัญหาในจุดต่าง ๆ เช่นการลบรอยหยักรายการโปร่งแสงและแบนด์วิดท์หน่วยความจำที่สูงขึ้น แต่เอ็นจิ้นรุ่นถัดไปทั้งหมดจะใช้เวลารอการตัดบัญชีหรือไม่ การส่งต่อเป็นเรื่องของอดีตหรือไม่

2
อัพเดตและแสดงผลในเธรดแยกกัน
ฉันกำลังสร้างเอ็นจิ้นเกม 2D ง่าย ๆ และฉันต้องการอัปเดตและแสดงสไปรต์ในชุดข้อความต่างๆเพื่อเรียนรู้วิธีการทำงาน ฉันต้องการซิงโครไนซ์เธรดการอัพเดทและเรนเดอร์หนึ่ง ปัจจุบันฉันใช้แฟล็กอะตอมสองอัน เวิร์กโฟลว์มีลักษณะดังนี้: Thread 1 -------------------------- Thread 2 Update obj ------------------------ wait for swap Create queue ---------------------- render the queue Wait for render ------------------- notify render done Swap render queues ---------------- notify swap done ในการตั้งค่านี้ฉัน จำกัด FPS ของเธรดการแสดงผลเป็น FPS ของเธรดการปรับปรุง นอกจากนี้ฉันใช้sleep()เพื่อ จำกัด ทั้งเรนเดอร์และอัปเดต FPS ของเธรดเป็น …

4
การแก้ไขเฟรมอย่างที่ใช้โดย SmoothVideo Project เป็นตัวเลือกในการเพิ่มจำนวนเกมโดยไม่กระทบกับประสิทธิภาพหรือไม่?
โครงการ SmoothVideo ใช้การสอดแทรกเฟรมภาพต่อวินาทีเพื่อเพิ่มวิดีโอจาก 24 ถึง 60 ผลเป็นที่น่าประทับใจสวย ฉันสงสัยว่าสามารถใช้กับสิ่งนี้ได้หรือไม่และจะดูดีในวิดีโอเกมหรือไม่ มันใช้ทรัพยากรน้อยกว่าการเรนเดอร์เฟรมทั้งหมดดังนั้นจะช่วยให้แท่นวางที่ต่ำกว่าแสดงผลได้ที่คุณภาพของแท่นวางที่ดีกว่ามากในบางระดับของการประนีประนอม ฉันรู้ว่ามันจะไม่ถูกต้องและจะเพิ่มความล่าช้าในการป้อนข้อมูลเล็กน้อยตามที่จำเป็นต้องยึดไว้กับเฟรมใหม่ล่าสุดเพื่อให้สามารถสร้างและแทรกการแก้ไขที่หนึ่ง มันไม่ได้แย่เหมือนฟูลเฟรม แต่โดยเหตุผลของฉันมีเพียงความล่าช้าเท่านั้นคือเวลาการแก้ไขบวกครึ่งเวลาในการรีเฟรชเฟรมต่อวินาทีดั้งเดิม ดังนั้นสำหรับ 30 fps มันจะเป็นเวลาประมาณ 33ms / 2 + บางทีความล่าช้านี้อาจทำให้มันไม่เหมาะกับเกมบุคคลที่ผ่านมาเร็ว แต่ฉันสงสัยว่ามันจะเป็นอุปสรรคในเกมที่เล่นช้ากว่า ความล่าช้าจะลดลงที่อัตราเริ่มต้นที่สูงขึ้นดังนั้นฉันคิดว่ามันจะคุ้มค่าอย่างแน่นอนเมื่อไปจาก 60fps ถึง 100 + fps ซึ่งปรับปรุงประสบการณ์แม้ว่าจะเพิ่มขึ้นเล็กน้อยในขณะที่การเก็บภาษีบนระบบมาก

2
วิธีทำให้ voxel ดูเป็นธรรมชาติ
ฉันกำลังพัฒนาเกม voxel แต่ฉันคิดว่าฉันใช้เทคนิคที่ผิด ปัจจุบันฉันใช้กระเบื้องแบนเพื่อสร้างบล็อกและฉันคิดว่ามีวิธีที่ดีกว่าและมีประสิทธิภาพมากขึ้น ฉันเคยเห็นเกม voxel ซึ่งมีภูมิประเทศเป็นธรรมชาติ โดยที่ฉันหมายถึงไม่บล็อก เกมนี้มีบล็อก 4 * 4 * 4 ต่อลูกบาศก์เมตรและบล็อกเช่นดินทรายและหินมีขอบกลมและชนิดของการหลอมรวมกัน (เช่นในเกมทั่วไป) นี่เป็นภาพหน้าจอ สิ่งนี้สำเร็จได้อย่างไร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.