overclockzonefanpage  overclockzoneth  TV  RSS  


Results 1 to 12 of 12

Thread: Pixel Shader คือไรอะครับ

  1. #1
    ผู้มาเยือน
    Guest

    Default Pixel Shader คือไรอะครับ

    ระหว่าง Pixel Shader 2.0 กับ Pixel Shader 3.0

    ของ VGA Onboard
    อันไหนดีกว่ากัน เพราะไรเหรอครับ

  2. #2
    OverclockZone Member Hangger's Avatar
    Join Date
    16 Sep 2006
    Location
    In Hell

    Default

    Vertex Shader Processor คืออะไรขอท้าวความกันสักนิดกับคำว่า Vertex คืออะไร โดยทั่วไปแล้วในเกมสามมิตินั้น ในฉากแต่ละฉากที่ประกอบไปด้วยสิ่งต่างๆ ไม่ว่าจะเป็นต้นไม้ ก้อนหิน หรืออะไรทุกๆอย่างที่ปรากฎอยู่ภายในฉาก จะเกิดขึ้นจากถาพสามเหลี่ยมหลายๆภาพมารวมกันเป็นพื้นผิว และคำว่า Vertex ก็คือจุดยอดของสามเหลี่ยมแต่ละชิ้นนั่นเอง และจุดหลายๆจุดเหล่านี้เองที่เป็นข้อมูลสำคัญให้กับคอมพิวเตอร์ โดยที่ในจุดแต่ละจุดนั้นจะมีข้อมูลของตัวเองในลักษณะตำแหน่งของตัวเอง คือจะมีข้อมูลในรูปของแนวแกน คือ X , Y , Z และ W นอกจากข้อมูลทางด้านตำแหน่งของตัวเองแล้วยังจะประกอบไปด้วยข้อมูลของสีไปอีกด้วย เพื่อให้คอมพิวเตอร์ของเราทราบได้ว่าในแต่ละตำแหน่งของจุดนั้นประกอบไปด้วยสีอะไรบ้าง โดยที่ข้อมูลของสีนั้นก็จะถูกเก็บไว้ในรูปของ RGBA ( R= Red , G = Green , B = Blue , A = Alpha ) นอกจากข้อมูลเหล่านี้แล้วนั้น ยังจะต้องมีข้อมูลทางด้าน Texture หรือข้อมูลเกี่ยวกับพื้นผิวของแต่ละ Vertex อีกด้วยเพื่อให้ภาพสามมิติเหล่านั้นสมบูรณ์ขึ้นมาได้ ข้อมูลทางด้านพื้นผิวเหล่านี้อย่างเช่น ผิวหนังมนุษย์ ยาง สนิม เปลือกไม้เป็นต้น และเมื่อมีพื้นผิวแล้วในความเป็นจริงของพื้นผิวก็ยังต้องประกอบไปด้วยแสงเงาอีกเช่นกัน ตรงจุดนี้จะเห็นได้ว่าในแต่ละ Vextex นั้นจะประกอบไปด้วยข้อมูลมากมายที่จะต้องทำการประมวลผล เท่านั้นยังไม่พอในเกมสามมิตินั้นจะยังมีการเคลื่อนไหวของตัวละคร จึงทำให้พื้นผิวเหล่านี้เปลี่ยนไปตลอดเวลา เราจะเรียกอาการนี้ว่า Transform ถึงเวลานี้ก็หมดหน้าที่ของ Vertex Shader Processor จากนั้นก็จะส่งข้อมูลทั้งหมดเหล่านี้ที่เกิดขึ้นไปสู่ Pixel Shader Engine ซึ่ง Pixel Shader Engine นั้นก็จะทำหน้าที่แปลงสัญญาณข้อมูลที่ได้รับมาจาก Vertex Shader ที่เดิมนั้นจะมาในรูปของข้อมูลสามมิติ X , Y , Z แต่ในความเป็นจริงแล้วนั้นจอมอนิเตอร์ของเรานั้นเป็นเพียงจอแบบสองมิติ คือมีเพียงแนงแกน X และ Y เท่านั้น ดังนั้นหน้าที่หลักของ Pixel Shader คือการเปลี่ยนสัญญาณจาก X, Y , Z ให้มาอยู่ในรูปของ X และ Y โดยการนำข้อมูลทั้งหมดมาเรียงกันบน Pixel และทำการใส่เอกเฟกสืให้กับภาพที่ปรากฏขึ้น แต่ก่อนที่จะมีการใส่สีสันและเอกเฟกส์ให้กับภาพนั้น Pixel Shader จะต้องทำการลบข้อมูลที่ไม่จำเป็นออก คือข้อมูลที่มองไม่เห็นในขณะที่แสดงภาพจริงบนมอนิเตอร์ หรือพูดง่ายๆว่าสิ่งของที่โดนบังภายในภาพ จากนั้นก็จะนำข้อมูลเหล่านั้นมาเรียงบนระนาบใน pixel ต่างๆ แล้วใส่แสง สี พื้นผิวลงบนจุด หรือ Pixel ให้กับแต่ละจุด โดยแสงสีที่แตกต่างกันออกไปของแต่ละ Pixel ทำให้เรามองเห็นภาพที่ปรากฎจริงนั้นเป็นภาพสามมิติ ซึ่งจริงๆแล้วมันก็คือภาพเสมือนสามมิติ Virtual 3D นั่นเอง

  3. #3
    G.แก้มก้น Member nazzzaa's Avatar
    Join Date
    18 Sep 2006

    Default

    Quote Originally Posted by Hangger View Post
    Vertex Shader Processor คืออะไรขอท้าวความกันสักนิดกับคำว่า Vertex คืออะไร โดยทั่วไปแล้วในเกมสามมิตินั้น ในฉากแต่ละฉากที่ประกอบไปด้วยสิ่งต่างๆ ไม่ว่าจะเป็นต้นไม้ ก้อนหิน หรืออะไรทุกๆอย่างที่ปรากฎอยู่ภายในฉาก จะเกิดขึ้นจากถาพสามเหลี่ยมหลายๆภาพมารวมกันเป็นพื้นผิว และคำว่า Vertex ก็คือจุดยอดของสามเหลี่ยมแต่ละชิ้นนั่นเอง และจุดหลายๆจุดเหล่านี้เองที่เป็นข้อมูลสำคัญให้กับคอมพิวเตอร์ โดยที่ในจุดแต่ละจุดนั้นจะมีข้อมูลของตัวเองในลักษณะตำแหน่งของตัวเอง คือจะมีข้อมูลในรูปของแนวแกน คือ X , Y , Z และ W นอกจากข้อมูลทางด้านตำแหน่งของตัวเองแล้วยังจะประกอบไปด้วยข้อมูลของสีไปอีกด้วย เพื่อให้คอมพิวเตอร์ของเราทราบได้ว่าในแต่ละตำแหน่งของจุดนั้นประกอบไปด้วยสีอะไรบ้าง โดยที่ข้อมูลของสีนั้นก็จะถูกเก็บไว้ในรูปของ RGBA ( R= Red , G = Green , B = Blue , A = Alpha ) นอกจากข้อมูลเหล่านี้แล้วนั้น ยังจะต้องมีข้อมูลทางด้าน Texture หรือข้อมูลเกี่ยวกับพื้นผิวของแต่ละ Vertex อีกด้วยเพื่อให้ภาพสามมิติเหล่านั้นสมบูรณ์ขึ้นมาได้ ข้อมูลทางด้านพื้นผิวเหล่านี้อย่างเช่น ผิวหนังมนุษย์ ยาง สนิม เปลือกไม้เป็นต้น และเมื่อมีพื้นผิวแล้วในความเป็นจริงของพื้นผิวก็ยังต้องประกอบไปด้วยแสงเงาอีกเช่นกัน ตรงจุดนี้จะเห็นได้ว่าในแต่ละ Vextex นั้นจะประกอบไปด้วยข้อมูลมากมายที่จะต้องทำการประมวลผล เท่านั้นยังไม่พอในเกมสามมิตินั้นจะยังมีการเคลื่อนไหวของตัวละคร จึงทำให้พื้นผิวเหล่านี้เปลี่ยนไปตลอดเวลา เราจะเรียกอาการนี้ว่า Transform ถึงเวลานี้ก็หมดหน้าที่ของ Vertex Shader Processor จากนั้นก็จะส่งข้อมูลทั้งหมดเหล่านี้ที่เกิดขึ้นไปสู่ Pixel Shader Engine ซึ่ง Pixel Shader Engine นั้นก็จะทำหน้าที่แปลงสัญญาณข้อมูลที่ได้รับมาจาก Vertex Shader ที่เดิมนั้นจะมาในรูปของข้อมูลสามมิติ X , Y , Z แต่ในความเป็นจริงแล้วนั้นจอมอนิเตอร์ของเรานั้นเป็นเพียงจอแบบสองมิติ คือมีเพียงแนงแกน X และ Y เท่านั้น ดังนั้นหน้าที่หลักของ Pixel Shader คือการเปลี่ยนสัญญาณจาก X, Y , Z ให้มาอยู่ในรูปของ X และ Y โดยการนำข้อมูลทั้งหมดมาเรียงกันบน Pixel และทำการใส่เอกเฟกสืให้กับภาพที่ปรากฏขึ้น แต่ก่อนที่จะมีการใส่สีสันและเอกเฟกส์ให้กับภาพนั้น Pixel Shader จะต้องทำการลบข้อมูลที่ไม่จำเป็นออก คือข้อมูลที่มองไม่เห็นในขณะที่แสดงภาพจริงบนมอนิเตอร์ หรือพูดง่ายๆว่าสิ่งของที่โดนบังภายในภาพ จากนั้นก็จะนำข้อมูลเหล่านั้นมาเรียงบนระนาบใน pixel ต่างๆ แล้วใส่แสง สี พื้นผิวลงบนจุด หรือ Pixel ให้กับแต่ละจุด โดยแสงสีที่แตกต่างกันออกไปของแต่ละ Pixel ทำให้เรามองเห็นภาพที่ปรากฎจริงนั้นเป็นภาพสามมิติ ซึ่งจริงๆแล้วมันก็คือภาพเสมือนสามมิติ Virtual 3D นั่นเอง
    ขอบคุณสำหรับความรู้ครับ

  4. #4
    OverclockZone Member PUI's Avatar
    Join Date
    19 Sep 2006

    Default

    ความรู้ครับความรู้(แน่นปึก) ขอบคุณครับ

  5. #5
    spell force2
    Guest

    Default

    DirectX 6.0 - Multitexturing
    DirectX 7.0 - Hardware Transformation, Clipping and Lighting (TCL/T&L)
    DirectX 8.0 - Shader Model 1.1 (+Optional Pixel Shader 1.2/1.3 support)
    DirectX 8.1 - Pixel Shader 1.4 & Vertex Shader 1.1
    DirectX 9.0 - Shader Model 2.0
    DirectX 9.0b - Shader Model 2.0a
    DirectX 9.0c - Shader Model 3.0
    DirectX 10 - Shader Model 4.0

    PixelShader Version 2 And 3 Compared ( เปรียบเทียบ เวอร์ชัน 2 และ 3 )
    http://www.tomshardware.com/2005/12/...iii/page2.html

  6. #6
    OverclockZone Member หัวโบราณ's Avatar
    Join Date
    16 Sep 2006
    Location
    ขั้วโลกเหนือ

    Talking

    Quote Originally Posted by Hangger View Post
    Vertex Shader Processor คืออะไรขอท้าวความกันสักนิดกับคำว่า Vertex คืออะไร โดยทั่วไปแล้วในเกมสามมิตินั้น ในฉากแต่ละฉากที่ประกอบไปด้วยสิ่งต่างๆ ไม่ว่าจะเป็นต้นไม้ ก้อนหิน หรืออะไรทุกๆอย่างที่ปรากฎอยู่ภายในฉาก จะเกิดขึ้นจากถาพสามเหลี่ยมหลายๆภาพมารวมกันเป็นพื้นผิว และคำว่า Vertex ก็คือจุดยอดของสามเหลี่ยมแต่ละชิ้นนั่นเอง และจุดหลายๆจุดเหล่านี้เองที่เป็นข้อมูลสำคัญให้กับคอมพิวเตอร์ โดยที่ในจุดแต่ละจุดนั้นจะมีข้อมูลของตัวเองในลักษณะตำแหน่งของตัวเอง คือจะมีข้อมูลในรูปของแนวแกน คือ X , Y , Z และ W นอกจากข้อมูลทางด้านตำแหน่งของตัวเองแล้วยังจะประกอบไปด้วยข้อมูลของสีไปอีกด้วย เพื่อให้คอมพิวเตอร์ของเราทราบได้ว่าในแต่ละตำแหน่งของจุดนั้นประกอบไปด้วยสีอะไรบ้าง โดยที่ข้อมูลของสีนั้นก็จะถูกเก็บไว้ในรูปของ RGBA ( R= Red , G = Green , B = Blue , A = Alpha ) นอกจากข้อมูลเหล่านี้แล้วนั้น ยังจะต้องมีข้อมูลทางด้าน Texture หรือข้อมูลเกี่ยวกับพื้นผิวของแต่ละ Vertex อีกด้วยเพื่อให้ภาพสามมิติเหล่านั้นสมบูรณ์ขึ้นมาได้ ข้อมูลทางด้านพื้นผิวเหล่านี้อย่างเช่น ผิวหนังมนุษย์ ยาง สนิม เปลือกไม้เป็นต้น และเมื่อมีพื้นผิวแล้วในความเป็นจริงของพื้นผิวก็ยังต้องประกอบไปด้วยแสงเงาอีกเช่นกัน ตรงจุดนี้จะเห็นได้ว่าในแต่ละ Vextex นั้นจะประกอบไปด้วยข้อมูลมากมายที่จะต้องทำการประมวลผล เท่านั้นยังไม่พอในเกมสามมิตินั้นจะยังมีการเคลื่อนไหวของตัวละคร จึงทำให้พื้นผิวเหล่านี้เปลี่ยนไปตลอดเวลา เราจะเรียกอาการนี้ว่า Transform ถึงเวลานี้ก็หมดหน้าที่ของ Vertex Shader Processor จากนั้นก็จะส่งข้อมูลทั้งหมดเหล่านี้ที่เกิดขึ้นไปสู่ Pixel Shader Engine ซึ่ง Pixel Shader Engine นั้นก็จะทำหน้าที่แปลงสัญญาณข้อมูลที่ได้รับมาจาก Vertex Shader ที่เดิมนั้นจะมาในรูปของข้อมูลสามมิติ X , Y , Z แต่ในความเป็นจริงแล้วนั้นจอมอนิเตอร์ของเรานั้นเป็นเพียงจอแบบสองมิติ คือมีเพียงแนงแกน X และ Y เท่านั้น ดังนั้นหน้าที่หลักของ Pixel Shader คือการเปลี่ยนสัญญาณจาก X, Y , Z ให้มาอยู่ในรูปของ X และ Y โดยการนำข้อมูลทั้งหมดมาเรียงกันบน Pixel และทำการใส่เอกเฟกสืให้กับภาพที่ปรากฏขึ้น แต่ก่อนที่จะมีการใส่สีสันและเอกเฟกส์ให้กับภาพนั้น Pixel Shader จะต้องทำการลบข้อมูลที่ไม่จำเป็นออก คือข้อมูลที่มองไม่เห็นในขณะที่แสดงภาพจริงบนมอนิเตอร์ หรือพูดง่ายๆว่าสิ่งของที่โดนบังภายในภาพ จากนั้นก็จะนำข้อมูลเหล่านั้นมาเรียงบนระนาบใน pixel ต่างๆ แล้วใส่แสง สี พื้นผิวลงบนจุด หรือ Pixel ให้กับแต่ละจุด โดยแสงสีที่แตกต่างกันออกไปของแต่ละ Pixel ทำให้เรามองเห็นภาพที่ปรากฎจริงนั้นเป็นภาพสามมิติ ซึ่งจริงๆแล้วมันก็คือภาพเสมือนสามมิติ Virtual 3D นั่นเอง

    ดูดความรู้ๆ ยาวมากความรู้นี้

  7. #7
    OverclockZone Member แจน's Avatar
    Join Date
    18 Sep 2006

    Default

    มาเก็บความรู้ครับ

  8. #8
    OverclockZone Member KAIETA's Avatar
    Join Date
    19 Sep 2006

    Default

    เพิ่งเข้าใจเหมือนกันครับ
    ปกติก็รู้แค่ อันไหนมากกว่า ใหม่กว่า
    ขอบคุณด้วยคนครับ

  9. #9
    OverclockZone Member polppol's Avatar
    Join Date
    18 Sep 2006

    Default

    สุดยอดๆ ละเอียดยิบ

  10. #10
    OverclockZone Member
    Join Date
    30 Apr 2007

    Default

    และอยากทราบว่า ถ้าผมจะซื้อควรวท้อรุ่นไหน และราคาเท่าไหร่ครับ

  11. #11
    OverclockZone Member Bat 6111's Avatar
    Join Date
    3 Feb 2007
    Location
    New York,USA

    Default

    ดูด ๆๆๆๆ ความรู้ แบบแน่น ๆ

  12. #12
    OverclockZone Member zicmaxx's Avatar
    Join Date
    21 Mar 2007

    Default

    ผมเขียนเกมส์ก็จริง
    แต่ไม่ค่อยอยากไปยุ่งเกี่ยวกับ 3D Rendering เลย โดยเฉพาะ DirectX
    เพราะว่า resource ในไทยมีน้อยมากๆ อยากเก่งต้อง inter อย่างเดียว

    ปวดกะบาล เขียน Game System กะ GUI ดีก่าสนุกกว่ากันเยอะ



Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •