Mac Pro 2013でPremiere Pro CS6のOpenCL (GPU高速処理)を有効にする方法

11.05.14

こんにちはFLIGHTGRAFです。

けっこう知ってる様で知ってない人もいるんじゃないかと思ったので方法記載しときます。

Mac Pro 2013でPremiere Pro CS6を使用する場合、デフォルトではOpenCL (GPU高速処理)がサポート外の為有効にできないんです。そこで、下記の方法で有効にできるので、できてない人はやっといたほうが良いと思います。

1:まず以下開きます。アプリ以下の階層に入るには右クリックで『パッケージの内容を表示』

/Applications/Adobe\ Premiere\ Pro\ CS6/Adobe\ Premiere\ Pro\ CS6.app/Contents/GPUSniffer.app/Contents/MacOS/GPUSniffer

スクリーンショット 2014-05-11 16.46.06

スクリーンショット 2014-05-11 16.46.19

 

2:nameの部分をコピーして閉じます。

スクリーンショット 2014-05-11 16.48.00

 

3:以下開きます。

sudo nano /Applications/Adobe\ Premiere\ Pro\ CS6/Adobe\ Premiere\ Pro\ CS6.app/Contents/opencl_supported_cards.txt

スクリーンショット 2014-05-11 16.46.19

 

4:リストが出てくるので先ほどのname以下の『ATI Radeon HD – FirePro D700 Compute Engine』をペーストします。そのままでは書き込めないと思うので、一度デスクトップにコピーして書き込んでからまたもとの場所に上書きすると良いと思います。

スクリーンショット 2014-05-11 16.55.04

 

 

5:Premiere Pro CS6を開けば有効にできる様になってると思います。

スクリーンショット 2014-05-11 16.39.36

 

OFでつまづいたのでメモ【 Beyond Interaction 3-4-a ofxBox2d 】

26.01.14

/

ws02

こんにちわFLIGHTGRAFです。

OFを始めていきなりつまづいたのでメモ。

おそらく書籍購入者相当数の人がここでつまづいてるんじゃないかと思って、ここに書いときます。

田所氏著の「Beyond Interaction-2版」で、【3−4−a】アドオンの利用において、この書籍が出てしばらくというか、一年もたってないうちにいろんな環境が変わってしまった様で、「ofxBox2d」が参考コードでは利用できなくなっていたのでつまづきました。

自分は以下環境+コードで利用できるようになったので参考にしてください。

Xcode5.0.2/ofxbox2d(2014現在)/OFv8.0.2(書籍ではv0.7.4ですが、これだとofxbox2dが動かない。他のサイトにあるようなエラーは無く、いろいろ調べたら既に8.0に最適化されてる模様)

ofxBox2dをダウンロードし、「ofxBox2d-master」が展開されるので、フォルダを「ofxBox2d」にrenameしてaddonの中に入れます。

書籍を参考にprojectorGeneratorで新規プロジェクトを生成し、”testApp.h”から書いていきます”

testApp.h

#pragma once

#include "ofMain.h"
#include "ofxBox2d.h"



class testApp : public ofBaseApp{

	public:
		void setup();
		void update();
		void draw();

		void keyPressed(int key);
		void keyReleased(int key);
		void mouseMoved(int x, int y );
		void mouseDragged(int x, int y, int button);
		void mousePressed(int x, int y, int button);
		void mouseReleased(int x, int y, int button);
		void windowResized(int w, int h);
		void dragEvent(ofDragInfo dragInfo);
		void gotMessage(ofMessage msg);
    
    ofxBox2d box2d;
    vector <ofPtr<ofxBox2dCircle> > circles;
    //beyondでは vector <ofxBox2dCircle> > circles;

};

testApp.cpp

#include "testApp.h"

//--------------------------------------------------------------
void testApp::setup(){
    ofSetFrameRate(60);
    ofSetVerticalSync(true);
    ofBackground(0, 0, 0);

    box2d.init();
    box2d.setGravity(0, 5);
    box2d.createBounds(0,0,ofGetWidth(),ofGetHeight());
    box2d.setFPS(30);

//Beyondには無い宣言
	box2d.registerGrabbing();
    //ofSetLogLevel(OF_LOG_NOTICE);//無くてもいい

}

//--------------------------------------------------------------
void testApp::update(){
    box2d.update();

}

//--------------------------------------------------------------
void testApp::draw(){

    for (int i=0; i<circles.size(); i++) {
        ofFill();
        ofSetColor(0, 127, 255);
        //circles[i].draw();//Beyondではこう宣言している
        circles[i].get()->draw();
    }

    box2d.drawGround();//宣言しなくてもいい(一応)

}

//--------------------------------------------------------------
void testApp::keyPressed(int key){

}

//--------------------------------------------------------------
void testApp::keyReleased(int key){

}

//--------------------------------------------------------------
void testApp::mouseMoved(int x, int y ){

}

//--------------------------------------------------------------
void testApp::mouseDragged(int x, int y, int button){

}

//--------------------------------------------------------------
void testApp::mousePressed(int x, int y, int button){
    float r =ofRandom(10,40);
    //ofxBox2dCircle circle;//Beyondではインスタンスを生成しているが、そうするとうまくいかなかった。なので下記に変更
    circles.push_back(ofPtr(new ofxBox2dCircle));//push_backは始めにに宣言しないと以下のものが動かない
    circles.back().get()->setPhysics(1.0, 0.8, 0.5);
    circles.back().get()->setup(box2d.getWorld(), mouseX, mouseY, r);

}

//--------------------------------------------------------------
void testApp::mouseReleased(int x, int y, int button){

}

//--------------------------------------------------------------
void testApp::windowResized(int w, int h){

}

//--------------------------------------------------------------
void testApp::gotMessage(ofMessage msg){

}

//--------------------------------------------------------------
void testApp::dragEvent(ofDragInfo dragInfo){ 

}

こうするとうまく動くようになりました。

ofxBoxtest