タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

openglに関するkurusakiのブックマーク (6)

  • でらうま倶楽部 : OpenGL

    2020年04月24日14:30 カテゴリプログラム [glm]3次元にはあって2次元には無いものは?⇒どっちもあった コード書いとる? C++でベクトルと行列を扱うのにglmというライブラリを使っています。この記事を書いている時点での最新バージョンは0.9.9.8。バージョン刻んできてますね。という印象。 今回は2次元ベクトルの外積が無いと思い込んでいた話です。 glmでは3次元のベクトル同士の外積の計算は以下のように書きます。#include <glm/glm.hpp> int main() { glm::vec3 v1{ 1.0f, 0.0f, 0.0f }; glm::vec3 v2{ 0.0f, 1.0f, 0.0f }; auto cross = glm::cross(v1, v2); } で、2次元のもあるかな、と思って試してみると、#include <glm/glm.hpp

  • テクスチャの作成&描画方法 - hadoのメモ帳的なブログ

    まずテクスチャを作成する前にglEnable(GL_TEXTURE_2D)を呼び出して2Dテクスチャを有効にする必要がある。 glGenTextures()関数を使ってテクスチャ名を作成する。DirectXをやっていたからテクスチャ名を作成するっていうのは何かしっくりこないがそういうものらしい。 次にglBindTexture()関数を呼び出してテクスチャターゲットとテクスチャ名をバインドする。これでこのテクスチャ名の次元を設定できる。 次に下記の関数を呼び出してフィルタの設定を行う。この設定を行ってないとテクスチャが表示されなかった。これを呼び出してないサンプルプログラムも存在するので環境によって違うのかもしれない。 glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexParameteri(GL_TEX

    テクスチャの作成&描画方法 - hadoのメモ帳的なブログ
  • Qt+OpenCV+OpenGLで画像を表示 | Miyabiarts.net

    昨日予告したばかりですが、今度はQt+OpenGLを用いて、OpenCVの画像(cv::Mat_)を表示するGUIの実装を紹介します。 今回も、対象とするOpenCVは2.2以上で、C++インタフェースのみを対象としています。 画像形式は、グレースケール画像(cv::Mat_)とRGB画像(cv::Mat_)です。 実装は下記の通りで、QGLWidgetを継承したViewportクラスを作成しています。 #include <QWidget> #include <QImage> #include <opencv2/opencv.hpp> // 画像表示用ウィジェット(OpenGL) class Viewport : public QGLWidget { public: // Viewport( QWidget *parent = 0, QGLWidget *shared =

  • テクスチャでアルファ(透過)を使用する - 強火で進め

    OpenGLのテクスチャでアルファ(透過)処理を行う方法を解説します。 ※ソースコードはこちらです。こちらを表示しながら読み進めて下さい。 まず画像として奥に描画(背景)する為にこちらの画像 back.png - 「背景用(アルファ無し)画像」 手前にアルファ付きで描画するテクスチャとしてこちらの画像を使います。 front.png - 「前面用(アルファ有り)画像」 サンプルに付属している front.png 、 back.png 同じサイズのPNGファイルと置き換えると別の画像でテストすることもできます。理解を進めるためにも自分で置き換えてみる事をおすすめします。 背景用の画像は簡単に準備できるかと思いますが画像編集に詳しく無い人にはアルファ付きの画像を準備をするのは多少手間がかかるかと思いますので少し解説しておきます。 ここでは画像エディタとして、無料で使用可能なGIMPを使って解説

    テクスチャでアルファ(透過)を使用する - 強火で進め
  • 【特集】Leopardのアニメーションを簡単実装! Core Animationを使いこなす (3) レイヤーの使用法 | エンタープライズ | マイコミジャーナル

    レイヤーを使って画像を表示する では、レイヤーを使ってみよう。先ほど作成したController.mに、awakeFromNibメソッドを追加し、コードを記述していく。 まず、レイヤーの作成だ。レイヤーは、CALayerというクラスで表す。CALayerには、インスタンスを作るためにlayerというクラスメソッドがあるので、これを使ってインスタンスを取得する。 // レイヤーを作成する CALayer* layer; layer = [CALayer layer]; レイヤーを作成したら、次はコンテンツを設定する。CALayerでは、コンテンツとして画像を使うことが出来る。ちなみに、画像以外のものを表示したい場合は、それに特化したCALayerのサブクラスが用意されている。たとえば、テキストならばCATextLayer、QuickTimeムービーならばQTMovieLayer、OpenGL

  • OpenGL ハードウェアとテクスチャマップ上の諸注意

    OpenGL OpenGLのための備忘録。 1. ハードウェアとテクスチャマップ上の諸注意 テクスチャマッピングをするにあたって、ハードウェアによってはうまく動かないときがあります。 原因としては、指定していないオプションの初期値がハードウェアによって異なっているためと思われます。 たとえば私の手元のATIRage128Proでは何もしないでもテクスチャマップするだけで動くのですが、nVIDIA系などでは動かないようです。 回避策としては glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); まず、これは必ず指定すること。 これは遠点・近点でのマッピング法の指定ですね

  • 1