当前位置: 首页 > news >正文

(一)初始化窗口

游戏最短流程:
1,初始化
2,循环
3,清理

代码如下
myapplication.h

#pragma once

#include <glm/vec4.hpp>
#include <glm/mat4x4.hpp>
#include <vulkan/vulkan.h>
#include
#include “D:/install/filament-v1.18.0/third_party/imgui/examples/libs/glfw/include/GLFW/glfw3.h”
#include
#include
#include
#include

class MyApplication
{
public:
void run();

private:
//初始化窗口
void initWindow();
//初始化Vulkan对象
void initVulkan();
//主循环进行渲染操作
void mainLoop();
//资源清理
void cleanUp();

private:
//窗口
GLFWwindow* window = nullptr;
};
myapplication.cpp
#include “MyApplication.h”

void MyApplication::run()
{
initWindow();
initVulkan();
mainLoop();
cleanUp();
}

void MyApplication::initWindow()
{

//初始化GLFW库,
glfwInit();
//阻止创建OpenGL上下文
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
//禁止窗口大小改变
glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE);
//存储窗口句柄
const int WIDTH = 800;
const int HEIGHT = 600;
window = glfwCreateWindow(WIDTH, HEIGHT, "Vulkan window", nullptr, nullptr);

}

void MyApplication::initVulkan()
{
}

void MyApplication::mainLoop()
{
//在没有错误和窗口没有被关闭下一直运行,事件循环
while (!glfwWindowShouldClose(window))
{
glfwPollEvents();
}
}

void MyApplication::cleanUp()
{

glfwDestroyWindow(window);
glfwTerminate();

}
调用
main.cpp
#define GLFW_INCLUDE_VULKAN
#define GLM_FORCE_RADIANS
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include “MyApplication.h”

int main()
{
MyApplication app;
app.run();
return 0;
}

运行结果如下:
在这里插入图片描述


http://www.mrgr.cn/news/96342.html

相关文章:

  • [AI绘图] ComfyUI 中自定义节点插件安装方法
  • leetcode102 二叉树的层次遍历 递归
  • Android设计模式之单例模式
  • 【学Rust写CAD】16 0、1、-1代数单位元(algebraic_units.rs)
  • 基于Spring Boot + Vue的银行管理系统设计与实现
  • Android设计模式之工厂方法模式
  • Chrome 开发环境快速屏蔽 CORS 跨域限制!
  • Elasticsearch 搜索高级
  • 【qt】文件类(QFile)
  • 【AI插件开发】Notepad++插件开发实践:从基础交互到ScintillaCall集成
  • 【数据结构】栈 与【LeetCode】20.有效的括号详解
  • Linux修改默认shell为zsh
  • Android 设备实现 adb connect 连接的步骤
  • Pycharm(七):几个简单案例
  • udp通信(一)
  • Oracle 23ai Vector Search 系列之2 ONNX(Open Neural Network Exchange)
  • 项目-苍穹外卖(十六) Apache ECharts+数据统计
  • 在 React 中,组件之间传递变量的常见方法
  • apache连接池机制讨论
  • Windows 我的世界 Minecraft 服务器搭建,Fabric 模组搭建教程(内网穿透)