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

โปรแกรมคอมพิวเตอร์ที่ทำงานบนฮาร์ดแวร์กราฟิกและให้การควบคุมระดับสูงว่าฉากถูกเรนเดอร์อย่างไร

1
ฉันจะลบตัวละครของผู้เล่นได้อย่างไรเมื่อเขาเข้าไปข้างในหรือนอกพื้นที่?
ฉันต้องการจางผู้เล่นเมื่อเขาออกไปจากพื้นที่ ตัวอย่างเช่นสมมติว่าบุคคลเข้าสู่อาคาร เมื่อบุคคลอยู่นอกอาคารเขาไม่ควรมองเห็น แต่เมื่อเขาเข้าเขาจะค่อยๆปรากฏให้เห็น (โดยใช้เอฟเฟกต์สีซีดจาง) เมื่อช้างอยู่ในพื้นที่สีเขียวอัลฟาเขาควรจะเป็น 1 เมื่อช้างอยู่นอกพื้นที่สีเขียวอัลฟาเขาควรเป็น 0
17 unity  shaders 

1
Phong lighting - มีบางอย่างแปลก ๆ ที่มีแสง specular
ฉันนำแสงพงษ์มาใช้ ดูเหมือนว่าทุกอย่างจะทำงาน - พรูและทรงกลมก็สว่างตามที่คาดไว้ ฯลฯ แต่ฉันสังเกตเห็นบางสิ่งที่แปลกเกี่ยวกับแสงแบบส่องทางของแสงทิศทาง นี่คือภาพหน้าจอสองภาพ ครั้งแรก: ประการที่สอง: ในขณะที่คุณสามารถดูพื้นที่มากขึ้นมีแสงส่องสว่างเป็นพิเศษเมื่อกล้องอยู่ไกลจากวัตถุ นี่คือจุดสุดยอด shader: #version 330 core layout(location = 0) in vec3 vertexPos; layout(location = 1) in vec3 vertexNorm; layout(location = 2) in vec2 vertexUV; uniform mat4 MVP; uniform mat4 M; out vec2 fragmentUV; out vec3 fragmentNormal; out vec3 fragmentPos; void main() …

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

2
OpenGL: ที่ไหนที่ฉันใส่ shoud อยู่ที่ไหน
ฉันพยายามเรียนรู้ OpenGL ES 2.0 และฉันสงสัยว่าอะไรคือวิธีปฏิบัติที่ใช้กันทั่วไปมากที่สุดในการ "จัดการ" เฉดสี ฉันถามคำถามนี้เพราะในตัวอย่างที่ฉันพบ (เช่นที่รวมอยู่ในการสาธิต API ที่มาพร้อมกับ android sdk) ฉันมักจะเห็นทุกอย่างในชั้นเรียน GLRenderer และฉันค่อนข้างแยกสิ่งต่าง ๆ เพื่อที่ฉันจะได้ ตัวอย่างเช่นวัตถุ GLImage ที่ฉันสามารถนำกลับมาใช้ใหม่เมื่อใดก็ตามที่ฉันต้องการวาดรูปสี่เหลี่ยมพื้นผิว (ฉันกำลังมุ่งเน้นไปที่ 2D เท่านั้นในขณะนี้) เช่นเดียวกับที่ฉันมีในรหัส OpenGL ES 1.0 ของฉัน ในเกือบทุกตัวอย่างที่ฉันพบ shaders ถูกกำหนดให้เป็นคุณลักษณะของคลาส ตัวอย่างเช่น: public class Square { public final String vertexShader = "uniform mat4 uMVPMatrix;\n" + "attribute vec4 aPosition;\n" + …

1
GLSL ทั้งหมดในโปรแกรม shader เดียวหรือหลายโปรแกรม?
ฉันกำลังสาธิตการใช้งาน 3D โดยใช้ OpenGL และฉันสังเกตว่า GLSL นั้นค่อนข้าง "จำกัด " (หรือเป็นแค่ฉันเอง) อย่างไรก็ตามฉันมีวัสดุหลายประเภท วัสดุบางอย่างมีสีโดยรอบและกระจายวัสดุบางอย่างมีแผนที่บดเคี้ยวโดยรอบบางคนมีแผนที่ specular และชนแผนที่ ฯลฯ มันจะดีกว่าที่จะสนับสนุนทุกอย่างในหนึ่งคู่ยอด / ชิ้นส่วนแยกหรือดีกว่าที่จะสร้างยอดยอดหลายชิ้นและเลือกพวกเขาขึ้นอยู่กับวัสดุที่เลือกในปัจจุบัน? กลยุทธ์ shader ทั่วไปใน OpenGL หรือ D3D คืออะไร
17 opengl  3d  shaders  glsl 

6
จะทำให้วงการเลือกหน่วยผสานได้อย่างไร
ฉันต้องการทราบวิธีทำให้ลักษณะพิเศษนี้ของการเลือกแวดวงที่ผสาน นี่คือภาพเพื่อแสดง: โดยทั่วไปฉันกำลังมองหาผลกระทบนี้: วิธีการรวมกลมกลืนของวงกลมสามารถทำได้อย่างไร ฉันไม่พบคำอธิบายใด ๆ เกี่ยวกับผลกระทบนี้ ฉันรู้ว่าเพื่อฉายภาพพื้นผิวเหล่านั้นฉันสามารถพัฒนาระบบรูปลอก แต่ฉันไม่รู้วิธีสร้างเอฟเฟกต์การผสาน ถ้าเป็นไปได้ฉันกำลังมองหาวิธีแก้ปัญหาอย่างหมดจด

1
ความเหมาะสมของหมอกบนพื้นโดยใช้อัลฟ่าสี่ชั้น?
วิธีการเรียงลำดับชั้นจะใช้ชุดอัลฟาที่มีพื้นผิวขนาดใหญ่จัดเรียงขนานกับพื้นดินซึ่งตัดกันรูปทรงเรขาคณิตของพื้นที่ทั้งหมดเพื่อให้ภาพลวงตาของหมอกบนพื้นดินค่อนข้างมีประสิทธิภาพจากระดับสูงมองลง มองไปที่ขอบฟ้า (ดูภาพด้านล่าง) อีกวิธีหนึ่งวิธีการที่ยึดตามส่วนใหญ่จะคำนวณความหนาแน่นเป็นฟังก์ชั่นของระยะการมองเข้าไปในพื้นผิวหมอกและส่งออกค่าชิ้นส่วนตามที่ โดยไม่ต้องทดสอบประสิทธิภาพแต่ละวิธีด้วยตนเองฉันอยากจะฟังประสบการณ์ของผู้อื่นก่อน(ไม่ใช่การเก็งกำไร!) กับสิ่งที่มีผลต่อประสิทธิภาพของการเรียงตัวของอัลฟาที่น่าจะเป็น ฉันถามอย่างเฉพาะเจาะจงเนื่องจากผลกระทบที่เกิดขึ้นจากการถอนเงินเกินจริง (ไม่แน่ใจว่าอัตราการเติมจะผูกไว้กับระบบเดสก์ท็อปเฉลี่ยของคุณอย่างไร) รายชื่อเกมที่ใช้วิธีการนี้โดยเฉพาะเกมที่เก่ากว่าจะมีประโยชน์อย่างมากหากเป็นไปได้สำหรับฮาร์ดแวร์ DX9 / OpenGL2 ที่ใช้งานได้ล่วงหน้ามันมีแนวโน้มที่จะทำงานได้ดีสำหรับฉัน หนึ่งคำถามใหญ่คือเกี่ยวกับลักษณะพิเศษนี้: (เครดิตรูปภาพไปที่ Lume of lume.com) สังเกตว่าการไล่ระดับหมอกในแนวดิ่งนั้นราบรื่นหรือต่อเนื่อง OTOH โดยใช้เลเยอร์สี่ชั้นที่มีพื้นผิวฉันสามารถสรุปได้ว่าเลเยอร์จะเห็นได้ชัดมากเมื่อเดินผ่านพวกเขา - ยิ่งเบาบางยิ่งพวกเขาก็จะยิ่งชัดเจนมากขึ้นเท่านั้น นี่คือสิ่งที่ตรงกันข้ามกับที่ระนาบหมอกที่ถูกจัดแนวเพื่อเผชิญหน้ากับผู้เล่นทุกเฟรม
16 opengl  3d  textures  shaders 

4
Fixed-Function vs Shaders: อันไหนสำหรับมือใหม่?
ฉันกำลังจะไปวิทยาลัยเพื่อวิทยาการคอมพิวเตอร์ แม้ว่าฉันจะวางแผนที่จะใช้เครื่องมือที่มีอยู่ในบางจุดเพื่อสร้างเกมเล็ก ๆ จุดมุ่งหมายของฉันในตอนนี้คือการเรียนรู้พื้นฐาน: การเขียนโปรแกรมสามมิติ ฉันได้ทำการวิจัยเกี่ยวกับตัวเลือกระหว่าง DirectX และ OpenGL แล้วและความเชื่อมั่นทั่วไปที่เกิดขึ้นจากการที่ไม่ว่าคุณจะเลือก OpenGL หรือ DirectX เป็นแพลตฟอร์มการฝึกอบรมล้อของคุณความรู้มากมายสามารถถ่ายโอนไปยังแพลตฟอร์มอื่นได้ . ดังนั้นเนื่องจาก OpenGL ได้รับการสนับสนุนโดยระบบเพิ่มเติม (อาจเป็นเหตุผลที่โง่ในการเลือกสิ่งที่จะเรียนรู้) ฉันตัดสินใจว่าฉันจะเรียนรู้ OpenGL ก่อน หลังจากฉันตัดสินใจที่จะเรียนรู้ OpenGL ฉันได้ทำการวิจัยเพิ่มเติมและพบว่ามีความแตกต่างที่ฉันไม่ทราบมาตลอดเวลานี้: OpenGL ที่ใช้กับโปรแกรมได้อย่างคงที่ ตอนแรกฉันคิดว่ามันเป็นตัวเลือกที่ชัดเจนที่ฉันควรเลือกเรียนรู้ OpenGL ที่อิงกับ shader เนื่องจากเป็นสิ่งที่ใช้กันมากที่สุดในอุตสาหกรรมปัจจุบัน อย่างไรก็ตามฉันก็พบกับการเขียนโปรแกรมการเรียนรู้กราฟิก 3D Modernยอดนิยมโดย Jason L. McKesson ซึ่งอยู่ที่นี่: http://www.arcsynthesis.org/gltut/ ฉันอ่านถึงช่วงเกริ่นนำและในส่วน "เกี่ยวกับหนังสือเล่มนี้" ผู้เขียนกล่าวว่า: "สิ่งแรกคือสิ่งที่เรียนรู้ด้วยวิธีนี้จะต้องถูกยกเลิกอย่างหลีกเลี่ยงไม่ได้เมื่อผู้ใช้พบปัญหากราฟิกที่ต้องแก้ไขด้วยความสามารถในการโปรแกรมความสามารถในการเขียนโปรแกรมจะทำความสะอาดท่อฟังก์ชั่นคงที่เกือบทั้งหมด แต่ในเวลาเดียวกันก็ทำให้กรณีที่ฟังก์ชันการทำงานคงที่ให้เส้นโค้งการเรียนรู้ที่ง่ายขึ้นและรวดเร็วขึ้นสำหรับผู้เริ่มต้นโดยระบุ: "โดยทั่วไปถือว่าง่ายที่สุดในการสอนโปรแกรมเมอร์กราฟิก neophyte โดยใช้ฟังก์ชั่นฟังก์ชั่นคงที่" โดยธรรมชาติแล้วคุณจะเห็นว่าทำไมฉันถึงขัดแย้งกันเกี่ยวกับกระบวนทัศน์ที่จะเรียนรู้: ฉันใช้เวลาในการเรียนรู้มากมาย …

1
คณิตศาสตร์ที่อยู่เบื้องหลังเอฟเฟกต์แสงใน Krakatoa คืออะไร?
ฉันต้องการเรียนรู้คณิตศาสตร์หลังเอฟเฟกต์แสงใน krakatoa ( คลิกที่นี่เพื่อเป็นตัวอย่าง) แหล่งกำเนิดแสงเดินทางไปพร้อมกับอนุภาค แต่การแรเงาทำได้อย่างไร มันเป็นอะไรที่เรียบง่ายอย่างเช่นพงโป๊ะ เป็นไปได้ไหมที่จะใช้เอฟเฟ็กต์แบบเรียลไทม์กับ GPU?

1
สิ่งประดิษฐ์แผนที่เงา
ฉันต้องการลองเพิ่มเงาให้กับเกม 3D XNA ฉันได้ตั้งค่าสภาพแวดล้อมการทดสอบด้วยแสงเดียวและกล้องหนึ่งตัว อย่างไรก็ตามฉันพบสิ่งประดิษฐ์ด้วยวิธีการของฉัน ฉันใช้รหัส shader จากhttp://pastebin.com/zXi0hmsUเพื่อแสดงผลลัพธ์สุดท้ายและ http://pastebin.com/rY4Gcj9Nเพื่อสร้างแผนที่เงา รหัสตรงไปตรงมาและเกี่ยวข้องกับการผลิตความลึกจากมุมมองของแสงจากนั้นฉายลงในพื้นที่กล้องและตรวจสอบเพื่อหาข้อสรุป อย่างไรก็ตามจากมุมส่วนใหญ่ฉันได้ผลลัพธ์ที่น่าเกลียด ฉากประกอบด้วยลูกบาศก์ง่าย ๆ บางส่วน (สร้างขึ้นด้วยมือหันหน้าไปทางด้านนอกด้านหลังถูกคัดออก) แสงหนึ่งดวง (แผนที่เงาที่แสดงที่มุมบนซ้าย - ดูโอเค) และกล้องหนึ่งตัว RenderTarget ของฉันสำหรับแผนที่เงาถูกเตรียมใช้งานโดย int shadowMapSize = 512; RenderTarget2D shadowMap = new RenderTarget2D(GraphicsDevice, shadowMapSize, shadowMapSize, true, GraphicsDevice.PresentationParameters.BackBufferFormat, DepthFormat.Depth24Stencil8); GraphicsDevice.SetRenderTarget(shadowMap); GraphicsDevice.Clear(Color.White); GraphicsDevice.DepthStencilState = DepthStencilState.Default; หลังจากนั้นCreateShadowMapจะใช้เอฟเฟกต์ตามด้วยเอฟเฟกต์ LambertWithShadows SpriteBatchสุดท้ายแผนที่เงาจะถูกดึงมาใช้ ส่วนที่เหลือของรหัสประกอบด้วยเพียงแค่ให้ค่าที่ถูกต้องให้กับเฉด หากจำเป็นฉันสามารถให้บริการได้เช่นกัน

2
มีผู้สืบทอดต่อ RenderMonkey หรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันเริ่มต้นกับการเขียนโปรแกรม GLSL Shader และได้รับการมองเข้าไปในRenderMonkey น่าเศร้าที่ AMD ไม่สนับสนุนอีกต่อไป ทำไม? มีผู้สืบทอดหรือไม่
16 shaders  glsl 

2
GLSL Shader Effects: การเคลื่อนไหวเบลออย่างไร?
ฉันมีสภาพแวดล้อมแบบ 2D เต็มรูปแบบด้วยสไปรต์ไปรอบ ๆ เป็นแนวนอนตัวละคร ฯลฯ เพื่อให้ดูทันสมัยยิ่งขึ้นฉันต้องการใช้เอฟเฟกต์การเบลอแบบเคลื่อนไหวซึ่งคล้ายกับเกม FPS สมัยใหม่ (เช่น Crysis) เบลอเมื่อเคลื่อนไหวกล้องอย่างรวดเร็ว ใน sidecroller เอฟเฟกต์ที่ต้องการคือการเบลอเล็กน้อยนี้เพื่อให้เกิดแนวคิดในการเคลื่อนไหวอย่างรวดเร็วเมื่อกล้องกำลังเคลื่อนไหว หากใครสามารถให้คำแนะนำในการทำสิ่งนี้กับฉันได้ฉันถือว่าเป็นผู้สร้างพิกเซลฉันจะรู้สึกขอบคุณ

1
ค่าใช้จ่ายจริงในการสลับเอฟเฟกต์
ฉันใช้ XNA สำหรับโครงการของฉันและในบางครั้งฉันเห็นการอ้างอิงถึงความจริงที่ว่าการสลับเอฟเฟกต์สำหรับตาข่ายมีค่าใช้จ่ายค่อนข้างสูงซึ่งทำให้ฉันประหลาดใจเพราะฉันคิดว่าการสลับเอฟเฟกต์เป็นเพียง ไปยัง GPU พร้อมกับพารามิเตอร์ที่เหมาะสม ฉันสงสัยว่าใครบางคนสามารถอธิบายได้อย่างแม่นยำว่ากระบวนการนี้มีค่าใช้จ่ายเท่าใด และใส่ถ้าเป็นไปได้ 'ค่อนข้าง' เข้ากับบริบทหรือไม่ ตัวอย่างเช่นฉันต้องการใช้ shader สั้น ๆ เพื่อช่วยในการหยิบฉันจะ: เปลี่ยนเอฟเฟกต์ของวัตถุทุกชนิดและเปลี่ยนสีที่ไม่ซ้ำกันเพื่อระบุและส่งไปยัง shader วาดวัตถุทั้งหมดไปยังเป้าหมายการแสดงผลในหน่วยความจำ รับสีจากเป้าหมายและใช้เพื่อค้นหาวัตถุที่เลือก ส่วนใดของเวลาทั้งหมดที่ใช้ในการทำให้กระบวนการเสร็จสมบูรณ์ สัญชาตญาณของฉันจะบอกว่าการสร้างฉากอีกครั้งไม่ว่า shader จะเรียบง่ายเพียงใดลำดับของขนาดจะช้ากว่าส่วนอื่น ๆ ของกระบวนการดังนั้นทำไมความกังวลทั้งหมดเกี่ยวกับเอฟเฟกต์?
16 xna  shaders 

7
อะไรคือตัวอย่างที่ยอดเยี่ยมของเอฟเฟกต์พิกเซลเชเดอร์ขั้นตอน [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา อะไรคือตัวอย่างที่ดีของเอฟเฟกต์พิกเซลเชดเดอร์แบบขั้นตอนหรือพื้นที่จอภาพ? ไม่จำเป็นต้องใช้รหัส ฉันแค่มองหาแรงบันดาลใจ โดยเฉพาะอย่างยิ่งฉันกำลังมองหาเอฟเฟ็กต์ที่ไม่ขึ้นอยู่กับรูปทรงเรขาคณิตหรือส่วนที่เหลือของฉาก (ดังนั้นพวกเขาจะดูโอเคเรนเดอร์เพียงอย่างเดียวในรูปสี่เหลี่ยม) และไม่ได้ขึ้นอยู่กับการประมวลผลภาพ "แม้ว่าพวกเขาสามารถรวมพื้นผิวได้) Multi-pass หรือ single-pass นั้นใช้ได้ ภาพหน้าจอหรือวิดีโอจะเหมาะ แต่ความคิดก็ใช้ได้เช่นกัน นี่คือตัวอย่างบางส่วนของสิ่งที่ฉันกำลังมองหา (ทั้งหมดมาจากตัวอย่าง RenderMonkey): ข้อความalt : //public.blu.livefilestore.com/y1p_5Lx7BdjFyFRBkbcc0WakAT7Q-99fVcFOxmTXBbG4VtoFzC0UfAj51eSnE7ZOD84EYL2Y51HhMS2nWsohhn1mQ/effect2.jpg psid = 1 ข้อความ ALT http://public.blu.livefilestore.com/y1p_5Lx7BdjFyE3KhYtHe-Cdg7XuXcJ9Ou-GKzED-kZnzACyB5ypA6NSCfsYfuKa0h3ztoDRwwq9qBddX2OfG0fhg/effect3.jpg?psid= ข้อความกำกับ1 ฉบับ ฉันรู้คำถามนี้ ; ฉันไม่ได้ขอแหล่งที่มาของการใช้งาน Shader จริง ๆ แต่สำหรับความคิดที่สร้างแรงบันดาลใจ - และที่NVIDIA Shader Libraryส่วนใหญ่ต้องการฉากหรือเอฟเฟกต์การประมวลผลภาพ

2
ตูน / cel แรเงาที่มีความกว้างของเส้นตัวแปร?
ฉันเห็นแนวทางกว้าง ๆ สองสามข้อเพื่อทำการแรเงา cel: การทำซ้ำและการขยายรูปแบบด้วยบรรทัดฐานพลิก (ไม่ใช่ตัวเลือกสำหรับฉัน) Sobel filter / fragment shader เข้าใกล้การตรวจจับขอบ บัฟเฟอร์ของลายฉลุเข้าหาการตรวจจับขอบ วิธีการ Shader ของเรขาคณิต (หรือจุดสุดยอด) ที่คำนวณบรรทัดฐานใบหน้าและขอบ ฉันถูกต้องหรือไม่ถ้าสมมติว่าวิธีเรขาคณิตเป็นศูนย์กลางช่วยให้สามารถควบคุมปริมาณแสงและความหนาของเส้นได้มากที่สุดเช่นกัน สำหรับภูมิประเทศที่คุณอาจเห็นแนวเงาของเนินเขาค่อยๆรวมกันเป็นที่ราบ ถ้าฉันไม่ต้องการแสงพิกเซลบนพื้นผิวภูมิประเทศของฉันล่ะ (และฉันอาจจะไม่เป็นอย่างที่ฉันวางแผนที่จะใช้แสง / เงาบนพื้นผิวที่ใช้กับเซลล์ / แรปแมป) - ฉันจะดีกว่าหากใช้วิธีเรขาคณิต - หรือดีกว่าสำหรับพื้นที่หน้าจอ / ชิ้นส่วนแทน การทำให้สิ่งต่าง ๆ ง่ายขึ้น? ถ้าเป็นเช่นนั้นฉันจะได้รับ "หมึก" ของเนินเขา ในภาพเงาตาข่ายแทนที่จะเป็นเพียงโครงร่างของตาข่ายทั้งหมด (โดยไม่มีรายละเอียด "หมึก" ภายในโครงร่างนั้น) ( รูปทรงที่มีการชี้นำของ AKA , รอยย่น ) สุดท้ายเป็นไปได้ไหมที่จะเลียนแบบวิธีการพลิก - …

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