Drake's Weblog

animation

2 minute read

因為不知名的原因,The Foundry 並沒有在 Nuke 裏頭支援 .BMP。雖然說,.BMP 是個一點都不專業,用了它,還可能讓對方把你瞧低了的格式,但很不幸地,我們因為一些使用到的程式,不得不去處理 .BMP。在這個情況下,我又希望能保有使用 Nuke 的便利與強大,但又不想三不五時就使用 ImageMagick 的 convert 來轉檔(太慢了,尤其是當圖檔有上千上萬張的時候)的前提下,我用 FreeImage 給 Nuke 寫了個 bmpReader。
希望對某些人,也有幫上一點唯不足道的忙~
#include <stdio.h> #include <string.h> #include <freeimage.h> #include "DDImage/DDWindows.h" #include "DDImage/Reader.h" #include "DDImage/Row.h" #include "DDImage/Knob.h" #include "DDImage/Knobs.h" #include "DDImage/Thread.h" #include "DDImage/Memory.h" using namespace DD::Image; class BmpReader : public Reader { private: unsigned int m_bpp; unsigned int m_width; unsigned int m_height; FIBITMAP* m_bitmap; FreeImageIO m_io; public: BmpReader(Read*); ~BmpReader(); void engine(int y, int x, int r, ChannelMask, Row&); static const Description d; }; BmpReader::BmpReader(Read* r) : Reader(r) { FreeImage_Initialise(TRUE); m_bpp = 0; m_width = 0; m_height = 0; m_bitmap = FreeImage_Load(FIF_BMP, filename(), BMP_DEFAULT); if( m_bitmap ) { m_bpp = FreeImage_GetBPP(m_bitmap); m_width = FreeImage_GetWidth(m_bitmap); m_height = FreeImage_GetHeight(m_bitmap); //printf("bpp: %d\n", m_bpp); //printf("width: %d\n", m_width); //printf("height: %d\n", m_height); set_info(m_width, m_height, m_bpp/8); } else { } } BmpReader::~BmpReader() { if( m_bitmap ) { FreeImage_Unload(m_bitmap); m_bitmap = NULL; } FreeImage_DeInitialise(); } void BmpReader::engine(int y, int x, int r, ChannelMask channels, Row& row) { BYTE* pixel = FreeImage_GetScanLine(m_bitmap, y); // BGR !

1 minute read

For some reason I don’t know, The Foundry doesn’t make Nuke support .BMP’s read/write. License issue? Anyway, we does have some files coming as .BMP such that I code this bmpReader with help of FreeImage. Hopefully, someone gets benefits from it.

1 minute read

Check it out!
All other animations in 華夏技術學院/數位媒體設計系 : A4。
PS. 我印象最深刻的,就這部陀螺島與 Paper Deal 了,可惜 Paper Deal 沒有全片。
PS 2. 作品普遍都有「時間過長」的問題,得學著 narrow down storyline.
PS 3. 到一個學校演講完,看學生的作品,與他們一同吃飯聊聊,一直是件讓人心情很愉快的事,而且還挺「正面」的 :D

1 minute read

公視記者,於這個月初,就「完全使用 3D 拍攝」與「事後使用 2D 轉 3D 的作法」有什麼差別? 做了個簡要的採訪。
一開始就以 3D 鏡頭(指兩個鏡頭以上)拍攝,會有完整的 3D 場景資訊。於是我們可以知道女主角後面的花園有一些花朵,只是在這個鏡頭的角度下看不到,但另一個角度可能就會顯現。 採用 2D 轉 3D 的後製作法,就無法擁有完整的場景資訊:原來已經被女主角的大頭擋掉的東西,就是看不到了,雖然可以透過一些演算法“猜“出來,但有一定的極限,這個極限會不會造成品質上比較差,就不見得了。 買票看 3-D 動畫或電影的觀眾,是真的感受不出兩者在「立體品質」上的差異的。真的是這樣。所以對於說了「如果是用 2D 轉的,覺得不會想去看」這類說法的人,我多少覺得他只是就「邏輯上的推演,說出來的回覆而已。畢竟如果有人在一開始就告訴你說,這部動畫是用一種感覺起來比較遜或省成本的作法拍的,那你當然就會覺得要少付點錢去消費它了。」但問題就在於,大部分觀眾既不會在事先知道它怎麼拍出來的,也不會知道它用了多少成本,那也就不會有這種心態出現了。(這說法不完全正確,電影宅男是一定會事先知悉的,但對於普羅大眾,我不覺得他們會這麼認真關心這類細節,比較重要的,應該還是電影好不好看,有沒有話題,現在是不是很夯…之類的) 一開始用 3D 鏡頭拍攝,的確是成本會很大的。但是由 2D 轉 3D 的作法,代價上,沒有便宜很多的。換個說法好了,如果使用 2D 轉 3D 的作法,成本是直接 3D 拍攝的 1/10 或更少的話,一般人應該會覺得比較便宜的對吧。但事實上是,2D 轉的作法,代價比 1/10 來得高出不少。(不過這種情況會慢慢降低的…) 2D 轉 3D 並不是像一個黑盒子那樣神祕與全自動,其實是靠大量人工完成的。以完成了 G-Force 與 Alice in Wonderland 這兩部電影的 2D 轉 3D 的後製公司 In-Three 為例,他們為了填補需要大量人工的成本,直接跑去印度設廠了。(如果中國大陸的語言與品質控管夠好,很顯然這家公司就會到中國大陸開公司了,畢竟中國大陸的人工,就現階段來說,是更是便宜的選擇…)

Recent posts

Categories

About

You're looking at Drake's words or statements. All opinions are my own.