問題タブ [soil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
524 参照

c++ - OpenGL (SOIL を使用) は常に同じ画像を読み込みます

画像をロードすると、別の目的でロードされた次の画像が同じ画像になります。

基本的:

私は Pong のレプリカを作成していますが、パドルとボールのテクスチャがあります (はい、両方が異なることを確認しました)。ここでソースコードを見つけることができます。パドルは画像を正常に読み込みますが、ボールに関しては、パドルとまったく同じ画像を読み込みます (Paddle = Paddle.cpp 、Ball = Ball.cpp)。

何が問題なのですか?SOIL の使い方は間違っていますか?

0 投票する
2 に答える
1460 参照

xcode - Xcode 4.2.1 プロジェクトにヘッダーを含める

ライブラリ、特に Xcode 4.2.1 の SOIL (Simple OpenGL Image Library) を使用しようとしています。Build Phases -> Link Library with Libraries の下で、SOIL zip アーカイブに付属するすべての .h および .c ファイルを追加します。

プロジェクトをビルドすると、追加された .h および .c ファイルごとに次のエラー メッセージが表示されます。

警告: ファイル '/Users/saw/XcodeProjects/Assignment01 copy/Assignment01/image_DXT.c' をスキップしています (フレームワークとライブラリのビルド フェーズで予期しないファイル タイプ 'sourcecode.cc' が発生しました)

およびリンカ エラー:

「_SOIL_load_OGL_texture」、参照元: main.o の Init() アーキテクチャ x86_64 のシンボルが見つかりません Clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (呼び出しを確認するには -v を使用します)

0 投票する
1 に答える
1324 参照

c++ - g++ Linux で静的 libSOIL.a をリンクする未定義の参照

画像からテクスチャをロードするために SOIL ライブラリ (http://www.lonesock.net/soil.html) を使用しようとするまで、すべてうまくいきました。このライブラリには、SOIL.h および libSOIL.a ファイルが付属しています。

make を実行すると、次のようになります。

そして、それは私の Makefile です:

そして、それは私のファイル階層です:

何が起こっているのか、コンパイラーがライブラリー・ファイルを見つけられない理由はわかりません。Texture.h に #include "SOIL/SOIL.h" があり、Texture.cpp:9 に SOIL_load_OGL_texture の呼び出しがあります。これは、SOIL.h で定義されている関数の名前です。¿私は悪いことをしていますか?

編集

提供されたライブラリを使用していましたが、自分でコンパイルしたところ、機能しました。

0 投票する
1 に答える
1386 参照

c - opengl 土壌テクスチャ

VS2010 から受け取ったエラー メッセージは次のとおりです。

AzimuthalEqui.e​​xe の 0x77358dc9 で未処理の例外: 0xC0000005: アクセス違反の書き込み場所 0x00000014。

このエラーを生成するコード行は次のとおりです。

この関数に入る前に:

texture_filename = "データ/texture.jpg"

SOIL_LOAD_AUTO (= 0)

SOIL_CREATE_NEW_ID (=0)

SOIL_flags = 16 (=SOIL_FLAG_INVERT_Y)

問題は、テキスト ファイル内の情報を解析するために作成したファイルを含めると、エラーが発生することです。それ以外の場合は、テクスチャが読み込まれて表示されます。この特定の関数が削除されると、コードがロードされてテクスチャが表示されるため、この問題はおそらく 1 つの関数によって引き起こされます。私のプロジェクトに追加するとエラーが発生する関数は次のとおりです。

読み取り用にファイルを開くことと関係があります...これらの行をコメントアウトすると、テクスチャが正しく読み込まれます。

これが私の削減されたコードです(これは問題ではないと思いますが、念のため)。[私の完全なコードの一部が残っている可能性があります]:

0 投票する
1 に答える
1184 参照

opengl - SOILOpenGLライブラリがクラス内でクラッシュする

OpenGLを使用して単純な3Dモデルローダーに取り組んでおり、テクスチャサポートを追加したいと思いました。しかし、不必要に画像ライブラリを書き直したくないので、テクスチャマッピングに関するNeHeチュートリアルで学んだSOIL(Simple OpenGL Image Library)をダウンロードしました。何度も画像を読み込んでOpenGLに渡すのに役立ついくつかの非常に便利な関数があります。

問題はこれです:NeHeチュートリアルコードでは、SOIL関数

約束どおりであり、ポリゴンは正しい画像でマッピングされます。ただし、OBJファイルとMTLファイル(3Dモデルファイル)をロードするクラスを作成しました。SOIL関数を使用してこのクラス内にテクスチャをロードしようとすると、プログラムがクラッシュします。

  • 私はGNUC++をCode::Blocksで使用しています(このコードもDev-C ++で試しました)
  • -g -Wallを使用しても、コンパイラからエラーや警告は表示されません。
  • プロジェクトにすべてを適切にリンクして含めました(NeHeコードをコピーして貼り付けると、正しく実行されます)。
  • SOILコマンドはどのクラス内でも機能しません(SOIL関数のみを実行する別のクラスを作成しようとしましたが、同じ問題が発生しました)。
  • 関数に渡されるファイルパスはすべて正しいです。スラッシュとバックスラッシュのすべての形式で、相対および絶対を試しました。NeHeコードで機能した絶対パスをコピーしてコードに貼り付けましたが、機能しません。
  • コードの残りの部分は正常に機能します-アンビエント/ディフューズなどでシェイプをレンダリングできます。色やその他の設定が適切に適用されました。
0 投票する
1 に答える
3567 参照

xcode - xcode 4.0.2 SOIL ライブラリ リンク エラー (OSX 10.6.8)

私のユーザー ストーリー: OpenGL プログラムにテクスチャをロードしたいと考えています。

私の質問: xcode 4.0.2 で SOIL ライブラリを適切にリンクするにはどうすればよいですか

だから、私は過去数日間、xcode4 のリンカの警告に関してグーグルで調べていましたが、自分で答えることができませんでした. )。

私のベアボーン再現手順:

  1. 「Simple OpenGL Image Library」をダウンロードに解凍します
  2. プロジェクト ファイルに libSOIL.a をドラッグ アンド ドロップします。

    • 「Build Phases」の下で、「Link Binary With Libraries」に libSOIL.a が自動的に追加されます。
    • 「ビルド設定」の下で、ライブラリ検索パスも自動的に更新されます
    • 私の有効なアーキテクチャはすでに「i386 x86_64」を指定しています

プログラムを実行しようとすると、次の警告が表示されます。

ld: 警告: ファイル /Users/Scott/Developer/Projects/SpaceRanger/Code/Production/lib/libSOIL.a を無視します。ファイルは、リンクされているアーキテクチャではないアーカイブ用にビルドされました (x86_64)

前述したように、私はプログラミングと IDE 全般にまったく慣れていないので、OpenGL (SOIL など) でテクスチャをロードするためのより簡単なアプローチが、SDL や GLFW に有利になることを期待していました。ライブラリだけをロードするのにこの種の問題が発生している場合、それらは絶対に私の範囲外であるに違いありません。

検索に基づくその他のヒット アンド ミスの試み:

  • ライブラリを「コンパイルソース」に追加すると、さらに警告が生成されるだけです
  • 「アクティブなアーキテクチャのみをビルド」の切り替えはい/いいえ
  • スキームを 32 ビットと 64 ビットに設定する
  • libjpg/DevIL/etc を使用して、独自のテクスチャ ローダーを作成します。

このライブラリをリンクしようとしているだけで、プロジェクトを台無しにし始めているのではないかと心配しています。誰かが xcode 4.0.2 で SOIL ライブラリを適切にリンクするのを手伝ってくれたら、私は永遠に感謝します。

よろしくお願いします。

-クロッケ

0 投票する
1 に答える
1528 参照

xcode - Xcode: SOIL で OpenGL プロジェクトをビルドできない

OpenGL を使用した C++ プロジェクトの Xcode で SOIL を実行しようとしています。ファイルをプロジェクトに追加すると、「libSOIL.a」がターゲットの「Link Binary With Libraries」に自動的に追加されます。main.cpp に追加しました:

プロジェクトをビルドすると、常にエラーが発生します

/.../Projects/XCode/OpenGLTest/OpenGLTest/lib/soil/src/test_SOIL.cpp:4:10: 'windows.h' ファイルが見つかりません

私は OS X を使用しているため、SOIL が「widows.h」で何かをコンパイルしようとする理由がわかりません。Web を検索しましたが、解決策が見つかりません。ここで誰かが私を助けて、SOIL を簡単に実行できるかどうかを説明してくれることを願っています。

ありがとう。

0 投票する
2 に答える
13564 参照

c - VisualStudio2010でのSOILのセットアップ

Visual Studio 2010でSOILを正しく機能させることができません – VSの専門家からはほど遠いですが、私が知る限り、環境を機能させるために必要な手順は次のとおりです。

プロパティ>>C/C++>一般>>追加のインクルードディレクトリSOIL.hへのパスを追加します

プロパティ>>リンカー>>一般>>追加のライブラリディレクトリlibSOIL.aへのパスを追加します

また、無料のGLUTを使用しており、glutファイルへのパスもここで設定されています。Dubugging>>EnvironmentPathもGLUTbinファイルに設定されています。

SOIL_load_OGL_textureを使用すると、次のエラーが発生します。

エラーLNK2019:関数 "void __cdecl init(void)"(?init @@ YAXXZ)で参照されている未解決の外部シンボル_SOIL_load_OGL_texture

libSOIL.aの名前をlibSOIL.libとSOIL.libに変更しようとしましたが、機能しませんでした。次に、VC8プロジェクトをビルドし、ここで提案されているようにその.libを使用しました。SOILは 正しくリンクされていませんが、それも機能しませんでした。

私は彼らのホームページからサンプルコードを使用しています

0 投票する
1 に答える
4020 参照

c++ - SOIL: Xcode を使用した C++ および OpenGL で「ファイルを開くことができません」

SOIL でテクスチャ ファイルを読み込もうとしています。プロジェクト ファイルからイメージをロードしようとしましたが、ファイル システムからもイメージをロードしようとしました。プロジェクトからイメージを読み込もうとするとSOIL_last_result()、次のエラーが表示されます。

ファイルを開けません

ただし、アプリケーションはとにかく実行されます。

システム内のイメージへのフル パスを入力すると (プロジェクトをビルドすると)、次のようになります。

怠惰

何がうまくいかないのかわかりません。コードに他のエラーがある可能性があることを読んでいたので、この時点で問題が発生しました。

コード全体は次のとおりです。

0 投票する
3 に答える
32116 参照

visual-c++ - bmp 画像形式は透明度を処理できますか

ボタン、ボタン コンテナー、チャット ボックスなどを含むこの C++ プログラムを作成しており、テクスチャでラップしたいと考えています。

作成したすべての長方形の滑らかなエッジを生成したいのですが、CPU 使用率が高くなり、見栄えがよくないため、頂点プロット メソッドでその作業を実行したくありません。テクスチャ座標で動作します (つまり、 glVertex2f(x, y)を使用したglTexCoord (u, v ) w/c はクワッドであるため 4 のみにする必要があります)。

私はSDL_LoadBMP()を使用してテクスチャをロードしていましたが、 .bmpの形式しかロードできません (LoadBMP しかないと書かれているため、よくわかりません)。

だから私の質問は:

  • .bmp形式は透過性を処理できますか? もしそうなら、それを行う方法は?

  • SOILを使用して.gif形式または画像の透明度を処理できるその他の形式の画像を読み込むコード サンプルをいくつか見せてもらえますか?

  • クワッドは、背景を描画せずに、六角形や星のような不規則/多角形の形状を処理できますか?

追加の質問

*c++ opengl を介してレンダリングされるプリミティブ テキスト ボックスをインポートして、そこにあるテキストをクリップボードにコピーする方法を教えてください。私のプログラムのチャットセッションについて。


GL_POINTS を使用してテキストを描画する独自のライブラリを作成しましたが、ポイントが広がっているため、ウィンドウのサイズを変更すると見栄えがよくありません。プログラムをC++ のコア関数に依存させたくないのでconst char*、テキストを避ける必要があります。#include <*string*>

したがって、より良い解決策は、ビットマップを使用して描画することです。

画像を使用して描画することを提案する人もいるので、クアッドのみを使用して描画したいので、透過性が本当に必要です。