14° : สิบสี่องศา Programmer's Blog

กันยายน 17, 2017

developer diary – ตอน Qt3D

Filed under: Computer Graphics,Development,Qt — สี่สิบดีกรี @ 11:19 pm

ห่างหายจากการอัพเดตความรู้ไปนาน วันนี้นั่งสำรวจ Qt3d ว่าเป็นยังงัย ไปถึงไหนแล้ว เจออันหนึ่งน่าสนใจ ObjectPicker แล้วก็เรื่อง SkyBox พอ Qt 5.10 น่าจะออก feature นี้มา
พอดูเรื่อง Skybox ก็เลยไปดูต่อว่า เราจะสร้าง texture สำหรับมันได้อย่างไร พวก เครื่องมืออย่าง photoshop มีปลั๊กอิน แต่ถ้าเป็นการเอาภาพจริงมาสร้างน่าจะง่ายกว่า โดยอาศัยกล้อง 360 องศาถ่ายแบบ panorama แล้วใช้โปรแกรมช่วย ตอนนี้หาไม่ยาก เพราะเรื่อง VR กำลังมา
พอได้ texture แล้วทีนี้ก็เอามาใช้ไนการเขียน 3d scene ด้วย QML
ปีที่แล้วเห็นมีคุยกันเรื่อง Qt 3d studio ตอนนี้กลับเงียบๆไป

มกราคม 13, 2016

14 Mocap : Motion Capture Studio

Filed under: Computer Graphics,Development,Motion Capture — ป้ายกำกับ:, , — สี่สิบดีกรี @ 1:55 pm

สวัสดีปีใหม่คร้าบ ปีใหม่ก็เอาข่าวล่าสุด สำหรับการเตรียมความพร้อมในการเปิดให้บริการ motion capture studio ของเรามาฝากกันนะครับ อีกไม่นานนี้แน่นอน
เพื่อเป็นการทดสอบและเก็บข้อมูลเพื่อการเตรียมความพร้อมก่อนการเปิดให้บริการ รวมไปถึงจะได้เอาข้อมูลไปใช้ทำ show reel เพื่อการประชาสัมพันธ์ต่อไป เราจึงทำการทดสอบการทำ motion capture ด้วยท่ารำหนุมานของโขน การแสดงซึ่งเป็นเอกลักษณ์ประจำชาติไทยของเรา และมีท่วงท่าที่ซับซ้อนเหมาะกับการทดสอบใช้งานครับ ตัววิดิโอข้างล่างนี้เป็นการเก็บ raw data กำลังรอ โมเดล 3d หนุมาน มาเพื่อจะใส่ท่ารำที่ได้จากการทำ mocap นี้เข้าไปครับ โปรดติดตาม

ธันวาคม 8, 2015

motion capture กับ kinect

Filed under: Computer Graphics,Development,hardware,Kinect,Motion Capture — ป้ายกำกับ:, — สี่สิบดีกรี @ 10:38 am

ช่วงนี้กลับมาดำเนินการเรื่องการเปิดให้บริการ motion capture ต่อครับ ในสภาวะที่วงการเงียบๆไป อาจเป็นอีกแรงที่ช่วยปลุกกระแสขึ้นมาใหม่จากบริการที่มีคุณภาพและราคาไม่แพง ผมโฟกัสที่สตูดิโอไม่ใหญ่หรือเป็นพวกนักพัฒนาเกมอิสระ ต้องการทำเดโม หรือ งานที่แข่งกับเวลา เช่นงาน อีเว้นท์ การนำเอาเทคโนโลยีเข้ามาช่วยทำในเรื่องของ digital art นั้น ผมว่าบ้านเรายังมีพื่นที่ให้ไปต่ออีกเยอะครับ

 

ข้างบนนี้ก็เป็นการนำเอา kinect มาทดลองเล่นกับ product ที่มีอยู่ในตลาด เพื่อจะดูว่าจะนำตัวไหนเข้ามาให้บริการได้บ้างครับ ก็สนุกดี อิอิ ยังมีอุปกรณ์อีกหลายตัวที่แพลนว่าจะเอาเข้ามาจำหน่ายและใช้สำหรับงาน 3d ครับ โปรดติดตาม

สิงหาคม 6, 2015

เกริ่น QML animations & transitions

Filed under: Computer Graphics,Development,Linux,multimedia,Qt,X11 — ป้ายกำกับ:, , , , , — สี่สิบดีกรี @ 11:22 pm

Screenshot from 2015-08-06 23:05:48 Screenshot from 2015-08-06 16:59:47

เคยเขียนไปเมื่อนานมาแล้วว่า สิ่งที่น่าสนใจของ QML อีกอย่างหนึ่งที่สำคัญก็คือ animation & transitions วันนี้ก็ได้มีโอกาสลองเล่นและเรียนรู้ ก็ต้องทำความเข้าใจกับมันพอสมควรเมื่อเริ่มต้น ตอนนี้ผมก็ยังงูๆปลาๆอยู่เลยครับ อิอิ

ด้วยความตั้งใจแต่เริ่มแรกคือ คำถามที่ค้างคาใจมานานว่า ไม่มีอะไรมาแทน flash และ action script เลยเหรอ สำหรับการทำ cg บน tv เพราะโปรแกรมอย่าง CasparCG นั้นก็ใช้ flash ที่นี้ถ้าเราต้องการทำระบบ live streaming เองละ จะใส่กราฟิกและอนิเมชั่นลงไปได้ยังงัย

คราวก่อนผมลอง cairo overlay ลงบน gstreamer element แค่ใช้เวลาเอา svg ขึ้นเนี่ยก็นานแล้วครับ และถ้าต้องโหลดเยอะๆ ดูเหมือนก็จะมีผลต่อ performance เหมือนกัน

คราวนี้เลยลองใหม่ ใช้วิธีเขียน QML application เลย แล้วค่อยทำ screencast เฉพาะส่วน ผมลองเอาไปถ่ายทอดสดลงบน youtube ก็ได้ดังที่เห็น

อ่าว หมดแรงเล่าซะละ ต่อคราวหน้าครับ

credit : กราฟิกสนาม Designed by Freepik.com

พฤศจิกายน 30, 2014

Video Compositing with LibCairo

Filed under: Computer Graphics,Development,multimedia — ป้ายกำกับ:, , , , , , — สี่สิบดีกรี @ 11:30 pm

ในที่สุดก็ได้ฤกษ์เอา BlackMagic DeckLink Studio ออกมาเล่นอะไรสักอย่างสักทีครับ ดองไว้เป็นปีละ จริงๆซอฟแวร์ทำ Cg ฟรีๆก็มี ดูน่าจะดีด้วย นั่นคือ CasparCG ซึ่งรองรับ DeckLink ซะด้วย เพียงแต่มันไม่มีเวอร์ชั่นบน Linux ก็เลยปล่อยผ่านไปก่อน

วันนี้จึงได้ทำการทดลองเขียนโปรแกรม เอาภาพวิดิโอจาก webcam USB นี่ละ เพราะรอ กล้อง SDI 720p จากจีนอยู่ยังไม่มาสักที ไม่งั้นคงได้ทดสอบการ์ด DeckLink ในการรับอินพุตด้วยแล้ว ซึ่งการ์ดในตระกูล DeckLink นั้นมี driver รองรับสามารถใช้กับ Linux ได้เกือบทุกรุ่นครับ แม้กระทั่งรุ่นเล็กราคาไม่กี่พันบาท จึงเป็นทางเลือกที่ีดีทางหนึงในการเอามาใช้งาน

IMG_0080-s

ส่วนประกอบหลักของโปรแกรมก็คือ GStreamer ครับ ผมเขียนด้วย C โดยมี Elements หลักๆก็คือ v4l2 source, libcairo และ decklink sink นั่นเอง เพื่อทดสอบว่าเราก็สามารถทำ graphics บน tv แบบง่ายๆได้โดยใช้เครื่องมือไม่ต้องมากมายหรือแพงๆ ตัวอย่างนี้ผมลองใส่ตัวอักษรวิ่งกับนาฬิกาเข้าไป ซึ่งส่วนประกอบของนาฬิกานั้นมาจากไฟล์ svg

ลองนึกถึงการถ่ายทอดสดลง youtube เล่นๆเวลามีกิจกรรมอะไร หรืออยากทำรายการเป็นของตัวเอง แล้วใส่กราฟิกเข้าไปแบบเรียลไทม์ได้ ก็ทำให้ดูโปรขึ้นมากเลยทีเดียว อิอิ (ผมคิดเอาเองนะครับ)

libcairo ค่อนข้างเป็น lib พื้นฐานต้องเหนื่อยเหมือนกันหากอยากได้กราฟิกที่ซับซ้อนเหมือน flash ก็หวังไว้ว่าอีกไม่นาน จะมีปลั๊กอิน QML ทำได้ในลักษณะอย่างนี้เหมือน libcairo ซึ่งก็น่าจะทำให้ทำอะไรได้ง่ายขึ้นอีกไม่น้อยเลยครับ

Powered by WordPress