しんさんのブログ

科学や技術のこと読書のことなど

Powerpointに数式を書く方法

以前はパワーポイントに数式を書くときは、texpointを使用していましたが、有料化されていしまったので、最近は使用していません。
代わりに以下のwebベースの方法を使用しています。
TeXCrop - fukudat
ネットにつながればブラウザで簡単に数式を生成してパワポに貼り付けることができますし、ローカルでも設定さえすれば使用できます。
他にもTeX関連のツールはいろいろあるようです。
プレゼンツール - TeX Wiki

ブログに数式を書く

最近、mahtjaxで数式を書いてみました。
同じ記法ではてなブログでも数式が書けるようです。
以下のサイトに情報がありました。
はてなブログにLaTeXで数式を書く (Markdown記法用) - 余白の書きなぐり
ksmakoto.hatenadiary.com

試しに、数式を書いてみました。
\(
b_n = \sum_{m=0}^{N-1} a_m
\)

なかなかいい感じです。

ミップマップフィルターのLOD計算の方法

mipmapのLODの決め方について、WEBを探してもあまり解説がありませんでしたので、
こちらの記事を参考に、mipmap filterのLOD計算方法をまとめてみました。wlog.flatlib.jp

非常にざっくりとした図で、正確ではないですがたぶんこんな感じでLODは決められると思います。
OpneGLやDirectXも似たようなことをやっているのではないかと想像します。
"ピクセル間の差分は、PixelShader でも 2.x 以降なら dsx, dsy 命令で求める
ことができます" ということだそうですので、このdsx, dsyを使えばどのmip LODを決定できそうです。
f:id:wshinya:20150717161858p:plain

cubeを表示できた

qiita.com
この記事はGLのコマンドの一つ一つが何をやっているのかの詳細を解説してあるので、勉強になります。
覚えること自体は少ないので、一度理解すれば次からはコピペで大丈夫そうです。

cube.objを作成して、以下のように箱を表示できました。
ただし、シェーディング処理をしていないので、あまり立体的に見えないです。
f:id:wshinya:20150715113400j:plain

初音ミク表示までやってみる 記事発見編

"今どきのOpenGLC言語初音ミクを表示する"という記事をQiitaで見つけました。
まだ、途中のようですが、フォローしながら勉強したいと思います。qiita.com

コードをgitから落としてきましたが、ビルドは成功しても実行できませんでした。
原因は、私の環境だとGL4.3に対応していないからのようです。
init.cを
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 5);
から、
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
と書き換えると実行できました。

(追記)
GPUのドライバーをアップデートすると、GL4.5が使えるようになりましたので、上記書き換えを元に戻しました。

glfwWindowHintの意味をメモっておきます

glfwWindowHintの意味をメモっておきます

	glfwWindowHint(GLFW_SAMPLES, 4); //4倍アンチエリアシング
	glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // GLのメジャーバージョン番号
	glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); // GLのマイナーバージョン番号
	glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //GLSLのprofile番号?

最後の、glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE)の意味がよくわかりませんが、
後日分かれば更新します。

GLでコンソールウィンドウを表示したくないとき

OpenGLをvisulal studioから実行したときに、コンソールウィンドウが開くのを防ぐためには、

#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")

の一行をソースに書けばいいようです。