Perpustakaan untuk menggambar piksel di C++ mirip dengan bytebuffer di java

pemrograman


Pertanyaan yang sangat sederhana adalah saya memerlukan perpustakaan untuk menulis piksel mentah yang mirip dengan ByteBuffers di Java (jika Anda sudah familiar dengan itu), menggunakan
semacam objek gambar, yang dapat digunakan dengan metode menggambar piksel (dengan beberapa hal raytracing) yang akan saya contohkan.

Cara saya raytrace adalah dengan menulis rayOrgin, diskriminan, dan mengembalikan warna dalam fungsi bernama PerPixel bertipe int dengan Vektor 2-float bernama “coord” dan kemudian memasok data ke data gambar melalui loop for bersarang.

Seperti inilah tampilannya:

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;
}

Apa yang saya coba:

Saya telah mencoba SDL namun ketika saya melakukan pembuatan gambar dengan benar, hanya gagal ketika saya masuk ke bagian raytracing. Saya sudah mencoba OpenGL
sebagai gantinya tapi kali ini memberi saya pengecualian ketika mencoba membuat gambar menggunakan VAO, VBO, TBO, dan lain-lain.

Kecuali untuk pembuatan gambar, saya tidak memerlukan tutorial besar apa pun, hanya cuplikan kode yang mirip dengan cuplikan kode yang saya tunjukkan sebelumnya saat bekerja dengan perpustakaan (dan juga jelas memberi saya nama perpustakaannya).

Solusi 1

コメント

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