Şimdi Ara

Glfw ve Glad çizim yapmıyor

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
105
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • #include "HuskyWindow.h"

    #include "../event/input.h"

    #include "../core/Log.h"


    #include <glad/glad.h>

    #include <GLFW/glfw3.h>


     

    #include <iostream>


    namespace Husky

    {

        HuskyWindow::HuskyWindow(int width, int height, const char* title)

        {

            glfwInit();

            glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);

            glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);

            glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);


            window = glfwCreateWindow(width, height, title, glfwGetPrimaryMonitor(), NULL);

            if (window == NULL)

            {

                glfwTerminate();

                throw std::runtime_error("Failed to create window");

            }

            glfwMakeContextCurrent(window);

            glfwSwapInterval(1);


            // loading glad

            if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))

            {

                throw std::runtime_error("Failed to init glad");

            }

            //glClearColor(1.0f, 0.2f, 0.0f, 1.0f);

            glfwSetKeyCallback(window, key_callback);

            glfwSetMouseButtonCallback(window, mouse_callback);

        }

        HuskyWindow::~HuskyWindow()

        {

            glfwDestroyWindow(window);

            glfwTerminate();

        }

        int HuskyWindow::GetHeight() const

        {

            return height;

        }

        int HuskyWindow::GetWidth() const

        {

            return width;

        }

        const char* HuskyWindow::GetTitle() const

        {

            return title;

        }

        void HuskyWindow::Update()

        {

            // Clear the screen

            glClearColor(1.0f, 1.0f, 0.0f, 1.0f);

            glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);


            // Draw the triangle

            glBegin(GL_TRIANGLES);

            glVertex2d(-0.5, -0.5);

            glVertex2d(0.5, -0.5);

            glVertex2d(0, 0.5);

            glEnd();


            // Swap buffers to display the rendered content

            glfwSwapBuffers(window);


            // Poll events

            glfwPollEvents();


        }

        void HuskyWindow::Close()

        {

            glfwSetWindowShouldClose(window, true);

        }

        bool HuskyWindow::ShouldClose()

        {

            return glfwWindowShouldClose(window);

        }

        void HuskyWindow::key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)

        {

            // key input alanı

            if (key == Key::Escape && action == Key::KeyRelease)

            {

                HUSKY_CLIENT_INFO("Exiting...");

                glfwSetWindowShouldClose(window, GLFW_TRUE);

            }

        }

        void HuskyWindow::mouse_callback(GLFWwindow* window, int button, int action, int mods)

        {

            // mouse input alanı

        }

    } bu render sınıfı kodum ancak bir sorun var glClearColor fonksiyonu çalışıyor ve arka plan değişiyor ancak glBegin(GL_TRIANGLES);

            glVertex2d(-0.5, -0.5);

            glVertex2d(0.5, -0.5);

            glVertex2d(0, 0.5);

            glEnd(); satırlarındaki çizim kodu çalışmıyor boş ekran geliyor 1 gündür uğraşıyorum nasıl çözerim lütfen yardım edin









  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.