【解決方法】Javaのバイトバッファに似たC++のピクセル描画用ライブラリ

プログラミングQA


非常に単純な質問は、Java の ByteBuffers に似た生のピクセルを書き込むためのライブラリが必要であるということです (これに精通している場合)。
これは一種の画像オブジェクトで、これから説明するピクセル描画方法 (レイトレーシングなどを使用) で使用できます。

レイトレースの方法は、rayOrgin、判別式を記述し、「coord」という名前の 2 浮動小数点ベクトルを使用して int 型の PerPixel という名前の関数で色を返し、ネストされた for ループを介してそのデータを画像データに供給することです。

これは次のようになります。

C++
for (int y = 0; y < IMAGE_WIDTH; y++)
{
  for (int y = 0; y < IMAGE_HEIGHT; y++)
  {
    Vector2f coord = { x / (float) IMAGE_WIDTH, y / (float) IMAGE_HEIGHT };
    imageData[x + y * IMAGE_WIDTH] = PerPixel(coord);
  }
}

int PerPixel(Vector2f coord)
{
  // RAYTRACING STUFF
  // ORDER CAN BE RGBA, ARGB, RGB and etc. just needs to have Red, Green and  Blue channels.
  if (discriminant >= 0)
     return 0xffff00ff;
  return 0xff000000;
}

私が試したこと:

SDL を試してみましたが、イメージを正しく作成しても、レイトレーシング部分に進むと失敗してしまいました。 OpenGLを試してみた
代わりに、今回は VAO、VBO、TBO などを使用してイメージを作成しようとすると例外が発生しました。

画像の作成を除けば、大がかりなチュートリアルは必要ありません。ライブラリを操作する前に示したコード スニペットに似たコード スニペットだけです (もちろん、ライブラリの名前も指定します)。

解決策 1

次のリンクのいくつかを見てください。 ピクセル gdi を設定 – Google 検索[^] そして ピクセル ダイレクトを設定 – Google 検索[^]。

コメント

タイトルとURLをコピーしました