การเปลี่ยนพฤติกรรมของ Class ขณะ Runtime

ก่อนอื่นในคราวนี้ ผู้เขียนจะขอลองเปลี่ยนไปเขียนเป็น C# แทน เนื่องจากตัว IDE ของ Visual Studio นั้น สามารถออกแบบ GUI(Graphics User Interface) ได้ง่ายกว่า IDE หลายๆตัวของ java มาก โดยผู้เขียน จะพยายามไม่ใช้ความสามารถบางชนิด ที่ภาษาอื่นๆบางภาษาไม่มี เพื่อความสะดวกในการทำความเข้าใจร่วมกัน (คนอ่าน: ไอคนเขียน จะสลับไปๆมาๆทำไมว๊ะ!!! คนเขียน: สลับไปเถอะ โค้ดเหมือนกันจะตาย = =)

เมื่อพูดถึงการเขียน Class ซึ่งเป็นหัวใจหลักของการเขียนโปรแกรมแบบ OOP แล้ว ก็คงมีหลายๆคนรู้สึกว่า การจะสร้าง Class ใดๆขึ้นมานั้น ถึงแม้ว่าเราจะสามารถออกแบบให้ Class ของเราทำงานได้อย่างดีแค่ไหนแล้ว แต่สุดท้ายก็ยังไม่สามารถทำให้ยืดหยุ่นได้

Continue Reading…

ประสบการณ์ การใช้ openGL on C# (sharpGL)

ก่อนอื่นอยากเกริ่นก่อนว่า ก่อนหน้านี้ ผู้เขียนไม่เคยมีประสบการณ์เกี่ยวกะพวก Graphics Programming มาก่อนเลย ไม่ว่าจะ DirectX หรือ openGL จะใช้นิดๆ หน่อยๆ ก็แค่ GDI+ บน C# เพราะว่าใช้แค่วาดรูป อะไรนิดๆ หน่อยๆ ซึ่งถ้าเปรียบเทียบ GDI+ กับพวก openGL แล้ว ก็คงเหมือนใช้พวกโปรแกรม Paint กับ โปรแกรม 3 มิติ แบบพวก 3D Studio Max

ทีนี้ปัญหาคือ GDI+ ไม่สามารถตอบสนองการวาดแบบ Realtime ได้ คือถ้าพูดกันให้เข้าใจแบบง่ายๆ GDI+ นั้น จะทำงานได้ช้ากว่าพวก openGL ซึ่งทำให้พอเราต้องการจะมี Canvas สำหรับ Graphic Animation อะไรซักอย่าง หากใช้ GDI+ แล้ว ก็จะพบว่า Animation ของเราจะกระตุกมากๆ จนแสดงผลไม่รู้เรื่อง สุดท้าย เราเลยต้องเดินทางเข้าสู่อะไรใหม่ๆกันแล้วละ 🙂 Continue Reading…