OpenGL ES 2.0: Repository ของ Quality Shaders [ปิด]


10

ฉันขอถามได้ไหมว่าจะแนะนำที่เก็บข้อมูลของจุดยอด OpenGL (OpenGL ES 2.0) ที่มีคุณภาพสูงและชิ้นส่วนที่แตกออกเป็นชิ้นๆ ได้ไหม

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

คำตอบ:


16

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

ผลที่ตามมาก็คือไม่ค่อยมีวิธีการเก็บข้อมูลที่คุณกำลังคิด หนังสือ GPU Gems นำเสนอชุดคำอธิบายสไตล์ตำราอาหารที่ดีทั้งเกมและตัวอย่างรหัสสีเทาที่คุณอาจต้องการดู ดังนั้นหนังสือ Shader X


+1 สำหรับความคิดเห็นที่มีค่ามาก สวัสดีจอช ขอบคุณสำหรับคำตอบของคุณ ถ้าคนอยู่ในช่วงเริ่มต้นของการพัฒนา shader มันจะช่วยให้เห็นว่ามีการใช้ shaders มาตรฐานอย่างไร: ตัวอย่างเช่นวิธีการที่ Phong (ซึ่งเป็นอัลกอริธึมมาตรฐานมาก) ทำการแสดง shaders แสงพิกเซล ฯลฯ ฉันเข้าใจคุณ จุดและแหล่งที่คุณให้เสียงเป็นวัสดุที่ดี ฉันจะดูพวกเขา จนถึงตอนนี้แหล่งข้อมูลที่ดีที่สุดที่ฉันพบคือหนังสือ OpenGL Shading Language และเว็บไซต์ Lighthouse 3D
Bunkai.Satori

2
ฉันจะยังคงยินดีต้อนรับแหล่งเก็บข้อมูลคุณภาพดีแสดงให้เห็นถึงการพัฒนาของผลกระทบที่น่าสนใจ สคริปต์สามารถใช้เป็นชั้นใต้ดินสำหรับรวมเข้าด้วยกันและสร้างเอฟเฟกต์ใหม่ที่น่าสนใจ
Bunkai.Satori

@Bunkai Satori ฉันคิดว่า Josh หมายความว่าเป็นเหตุผลว่าที่เก็บประเภทนี้ส่วนใหญ่ไม่มีอยู่จริง
คอมมิวนิสต์คอมมิวนิสต์

@ The Communist Duck: สวัสดีขอบคุณสำหรับความคิดเห็นของคุณ ฉันเข้าใจ. ฉันขอบคุณสำหรับทุกคำตอบที่นี่และสำหรับ Josh ด้วยเช่นกัน อย่างไรก็ตามสิ่งที่อยู่ในใจของฉันคืออินเทอร์เน็ตมีขนาดใหญ่มากจนบางทีคนอื่นที่ไม่ใช่ Josh อาจจำได้ว่าได้เห็นสถานที่ต่างๆ ฉันสามารถจินตนาการได้ว่า บริษัท / indidvidual ใช้ shaders จำนวนมากจะรวบรวมพวกเขาและบางส่วนของพวกเขาอาจเผยแพร่พวกเขา คำตอบของ Josh คือผู้สมัครของฉันสำหรับคำตอบที่ยอมรับอยู่แล้วดังนั้นหากไม่มีใครมีส่วนร่วมในไม่ช้าฉันจะปิดกระทู้นี้ของฉันทำเครื่องหมายคำตอบของเขา
Bunkai.Satori

13

ไม่มากนัก แต่อย่างน้อยสองตัวเริ่มต้นขั้นพื้นฐานที่สามารถเริ่มต้นด้วยสามารถพบได้ระหว่างไฟล์เครื่องมือการเปิดของฉัน:

ไฟล์. vsh มีจุดสุดยอดและไฟล์. fsh เป็นตัวแบ่งส่วน แต่ฉันคิดว่านั่นคือการอธิบายตัวเอง ...

บนฮาร์ดแวร์มือถือปัจจุบันคุณควรทำมากที่สุดเท่าที่จะเป็นไปได้ภายในจุดสุดยอดและเคล็ดลับสำหรับเกมที่ดูดีและรวดเร็วคือการเขียนนักออกแบบที่เชี่ยวชาญเป็นพิเศษจำนวนมากที่ทำอยู่เสมอในสิ่งที่จำเป็น อย่างน้อยประสบการณ์ของฉันกับ iPhone 3GS ของฉันซึ่งมี GPU เดียวกันกับ iPhone 4 แต่มีพิกเซลน้อยกว่าในการส่งข้อมูล นี่น่าจะดีกว่ามากแล้วกับ tegra 2 และดีกว่ากับแอปเปิ้ลชิป A5 แต่ตอนนี้หมายความว่าคุณไม่ควรลองพอร์ต shaders สำหรับเดสก์ท็อป gpus ไปยังโทรศัพท์มือถือและคาดหวังว่าจะมีประสิทธิภาพที่ยอดเยี่ยม: P เอฟเฟกต์โดยเฉพาะบนอุปกรณ์ที่มีจอแสดงผลความละเอียดสูงมักจะช้า

หวังว่านี่จะช่วยได้นิดหน่อย :)


สวัสดียินดีต้อนรับสู่ GDSE คำตอบที่ดี!
Notabene

+1 สำหรับคำตอบที่ดี สวัสดี Slin และยินดีต้อนรับสู่ GDSE ขอบคุณสำหรับคำตอบที่ดีและเป็นตัวอย่าง ฉันดีใจที่คุณแบ่งปันประสบการณ์ของคุณกับโปรแกรม shaders สำหรับแพลตฟอร์มมือถือ ในขณะนี้ฉันทำการพัฒนาทั้งหมดบนพีซีวางแผนที่จะพอร์ตในภายหลัง ดังนั้นประสบการณ์ของคุณจะได้รับการชื่นชม
Bunkai.Satori

9

อาจแย่งความรู้บางอย่างจากที่นี่ http://glslsandbox.com/


สวัสดี UlanB ชุดนี้ดูดี คุณช่วยกรุณาบอกฉันว่าฉันสามารถดาวน์โหลด shaders เหล่านี้ได้อย่างไร ฉันพบข้อผิดพลาดว่า "ไม่รองรับ WebGL" เมื่อฉันพยายามเปิดคอลเลกชัน shader ใด ๆ ในโครเมี่ยม ขอบคุณ.
Vinodtiru

ฉันขอโทษฉันไม่สามารถให้การสนับสนุนทางเทคนิคกับความเข้ากันได้กับ webgl อาจเป็นฮาร์ดแวร์ของคุณที่ไม่รองรับ webgl นอกจากนี้ Linux Chrome Builds ยังไม่รองรับ
UlanB

4

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

ฉันได้ใช้งานต่อการให้แสงส่วนย่อยด้วยเช่นกันการแก้ไขตัวอย่างนี้สร้างโดยClockworkCoders (ไม่ใช่ OpenGL ES 2.0)

คุณยังสามารถดูบทแนะนำที่ยอดเยี่ยมเหล่านี้โดยlighthouse3D


+1 สำหรับความคิดเห็นที่ดี สวัสดี Martin ขอบคุณสำหรับลิงค์ของคุณ ใช่ฉันพบ Lighthouse3D และดูเหมือนทรัพยากรที่มีคุณภาพ
Bunkai.Satori

1

แพคเกจ AMD RenderMonkey ประกอบด้วย shaders ขั้นสูงสำหรับ OpenGL ES 2.0 ในบรรดาไฟล์ตัวอย่าง

ดูตัวอย่าง Renderman shader โดยเฉพาะในไดเรกทอรีตัวอย่าง GLES ซึ่งให้กระดูก OpenGL ES 2.0 shader ที่เปลือยเปล่ามากขึ้นหรือน้อยลงซึ่งอาจเป็นจุดเริ่มต้นที่ดี และอาจทำให้คุณมีความคิดที่ดีว่าทำไมมีตัวอย่างที่ดีและไม่ดีของผู้ที่มีรูปร่างดี ปัญหาพื้นฐาน: shaders นั้นเชื่อมโยงกับการกำหนดค่าเซิร์ฟเวอร์ OpenGL ES อย่างแน่นหนาและโมเดลที่แสดงผลบนนั้น ยังคง Renderman shader เป็นจุดเริ่มต้นที่ยอดเยี่ยมหากคุณสามารถงัดมันออกจากเครื่องมือ REnderMonkey


1

ลองดูที่ GPUImage ( https://github.com/BradLarson/GPUImage ) มันอาจเป็นคอลเล็กชั่นที่สมบูรณ์ที่สุดที่ฉันพบบนเว็บจนถึงตอนนี้ เนื่องจากทั้งหมดได้รับการออกแบบให้ทำงานกับ GPUImage จึงมีโครงสร้างแบบเดียวกันดังนั้นหากคุณปรับโครงสร้างเดียวกันในแอปพลิเคชัน / เกมของคุณคุณควรจะสามารถนำเข้าเอฟเฟกต์ต่าง ๆ ได้อย่างรวดเร็ว

ไชโย!

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