Vala プログラミング

WebGPU プログラミング

おなが@京都先端科学大

Korora25

Korora25Korora Project 現在使用しているLinuxデスクトップです。Fedora25(GNOME)相当で、Dash to Dock など幾つかのGNOME Shell 拡張等が前もってインストールされています。使い易いデスクトップになっています。

Vala OpenGL ( ValaGL MatrixMath.vala )

ValaGL MatrixMath.vala の演算 Mat4 ( 4x4 行列) Mat4 の定義struct Mat4 メンバー float data[16] Mat4 各要素 m11(data[0]), m12(data[4]), m13(data[8]), m14(data[12]) m21(data[1]), m22(data[5]), m23(data[9]), m24(data[13]) m31(data[2]), m32(dat…

Vala OepnGL ( ValaGL MatrixMath.vala )

ValaGL MatrixMath.vala の演算Mat3(3x3 行列) Mat3 の定義struct Mat3 メンバー float data[9] Mat3 の各要素 m11(data[0]), m12(data[3]), m13(data[6]) m21(data[1]), m22(data[4]), m23(data[7]) m31(data[2]), m32(data[5]), m33(data[8]) メソッド …

Vala OpenGL ( ValaGL MatrixMath.vala)

ValaGL MatrixMath.vala の演算Vec4 ( 4次元ベクトル)Vec4の定義struct Vec4 *4次元ベクトル メンバー GLfloat data[4] メソッド *生成 Vec4() 要素が 0 値の Vec4 を生成 (Creates a new vector, zero initialized.) Vec4.from_data (GLfloat x, GLfloat …

Vala OpenGL ( ValaGL MatrixMath.vala )

ValaGL MatrixMath.vala の演算 前回のブログで使用した、ValaGL MatrixMath.vala の演算について書いています。 今回は、Vec3 ( 3次元ベクトル)です。 Vec3の定義 struct Vec3 メンバー GLfloat data[3] メソッド * 生成 Vec3() 要素が 0 値の Vec3 を生…

ValaGL + Gtk.GLArea ( Vala & OpenGL)

実行結果 (実際の実行では、スペースキーで、cubeが回転、停止します。) 下記のサイトで、Vala, SDL, GLEW で記述された、OpenGL 3.x に対応したrotating cubeアプリケーションが紹介されています。 (30/03/2013) ValaGL(simple skeletal application) (…

Genie + OpenGL(3)

前回プログラム(Genie + OpenGL)のワーニング 前回使用したプログラム(testglarea.gsとglarea.gs)とvapiでは、glShaderSource関数に関して、以下のようなワーニングが出ていました。 ** ワーニング ** testglarea.vala.c: 関数 ‘main_window_on_real…

Genie + OpenGL(Gtk.GLArea)2

gtk3-demoにあるGLAreaデモをGenie言語で書き直しました。 (単独のプログラムは、gtk+-3.16ソース内のtestsにあります。testglarea.c) *testglarea.gs(前回のプログラム)と同じglepoxy.vapiを使っています。 ##glarea.gs uses Gtk GL init Gtk.init (re…

Genie + OpenGL(Gtk.GLArea)

gtk+-3.16から、Gtk.GLArea ウィジェが追加され、GtkWindow内で簡単にOpenGLプログラミングが出来るようになりました。OpenGL context等が自動的に設定されます。 OpenGLライブラリとして、epoxyライブラリを使用しています。 Gtk.GLArea ウィジェ とOpenGL…

Genie Image Viewer 2 (GtkStack)

プログラムを実行したところ 一覧表示(List)から画像を選択し、拡大表示(Large)ボタンを押すとページが 遷移し拡大画像が表示される。 前回のimage-viewerプログラムをGtkStackを使って書き直しました。clutter-gtkを使用しています。・ファイルの読み込…

Genie Image Viewer

(プログラムを実行したところ) (画像一覧で画像を選択するとウィンドウ全体に表示される。再度クリックすると、 一覧表示に戻る。) GNOME Developer Platform Demos にある clutter を利用したサンプル photo-wall.c をGenieで書き直してみました。Genie…

Vala言語とOpenGL (4)

GUIをGladeで作成しました。Gladeでの作成画面 adjustmentの設定画面 Scale上のスライダの表示方法は、下に書いてあります。 gtkcluttergl4.valausing Gtk;using GtkClutter;using Clutter; public class Main : Object { const string UI_FILE = "mainwindo…

Vala言語とOpenGL (3)

三角形の回転にScaleウィジェを利用しています。 gtkclutter3.valausing Gtk;using GtkClutter;using Clutter; public class MainWindow : Gtk.Window{ private Clutter.Actor coglbox; private static float alpha; public MainWindow () { title = "GtkClu…

Vala言語とOpenGL (2)

GtkウィンドウにOpenGLを描画していることが分かるように、ボタン(Button)をウィンドウに追加しました。また、Stageのmotion_eventシグナルを使って、Stage上でマウスを動かすと三角形が回転するようにしました。コールバック関数には、無名関数を使っていま…

Vala言語とOpenGL

Vala言語を使ったOpenGLによる描画について書いています。プログラムのサンプルが、GNOME Wiki! のページにあります。Vala OpenGL Samples(https://wiki.gnome.org/Projects/Vala/OpenGLSamples) GLFW、GtkGLExt、GLX、GLUTライブラリを使ったサンプルです…

Vala + Cogl Cube(4)

ポリゴンの法線ベクトルと光線方向のベクトル(z方向)の内積を作り、 ポリゴン面の色の強さに設定しています。(上はマウスで回転している様子) プログラム private static float alpha;private static float beta; void paint_cb () { Cogl.push_matrix (…

Vala + Cogl Cube(3)

Materialを設定し、材質の色(diffuse, ambient, specular)を設定しています。 いろいろ調べましたが、光源の設定、法線ベクトルの設定が分かりません。 OpenGLライブラリを使用しています。 プログラム cube3.vala using GL; private static float alpha;pr…

Vala + Cogl Cube(2)

ポリゴンをマウスの移動で回転させています。 プログラム cube2.vala private static float alpha;private static float beta; void paint_cb () { Cogl.push_matrix (); Cogl.translate (300, 200, -200); Cogl.rotate (alpha, 1, 0, 0); //stdout.printf("…

Vala + Cogl Cube(1)

プログラム cube1.vala void paint_cb () { Cogl.push_matrix (); Cogl.translate (300, 200, -200); Cogl.rotate (-60, 1, 1, 0); Cogl.TextureVertex vertices1[4]; Cogl.TextureVertex vertices2[4]; Cogl.TextureVertex vertices3[4]; Cogl.TextureVerte…

Vala & Genie 言語

Vala言語とGenie言語に関するページです。 Vala Prolect https://wiki.gnome.org/Projects/Vala ウィキペディア http://ja.wikipedia.org/wiki/Vala ドキュメント、サンプルコード https://wiki.gnome.org/Projects/Vala/Documentation Valadoc http://www.v…