挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)不懂社区·好资源不错过·各位资源站大佬欢迎来采集搬运寻找会做《单机》游戏修改器的开发作者长期合作,价格不是问题!联系QQ:1874088565
IOS签名/udid证书出售/送证书加群1040456405 ██【我要租此广告位】██.
.. .
查看: 2666|回复: 0
打印 上一主题 下一主题

[辅助源码分享] [C/C++] VMP 3.8 核心 VMCODE

[复制链接]
3正式会员
107/300

107

积分

34

主题

2

听众
已帮网友解决0 个问题
好评
-3
贡献
73
海币
488
交易币
0

宣传达人推广达人最佳新人热心会员签到达人开荒者原创大师

跳转到指定楼层
楼主
发表于 2023-7-8 02:36:38 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑



#include <iostream>
#include <cmath>
#include “vulkan/vulkan.h” #include “vk_test.h”
使用命名空间 std;



存储顶点属性和位置数据
的结构 顶点 {
float4 位置 [[属性(0)]]; // 位置数据 float2 TexCoord [[属性(1)]]; // 纹理坐标数据

};

存储单个三角形
的结构 三角形 { 顶点
顶点[3]; // 单个三角形的顶点数据
};

int main() { /
/ Initialize Vulkan instance, device, and queue
Vulkan::VkApplicationInfo app_info; app_info.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; app_info.pNext = nullptr; app_info.applicationVersion = VK_MAKE_VERSION(1, 0, 0); app_info.pApplicationName = “Vulkan Vulkan Example”;



app_info.engineVersion = VK_MAKE_VERSION(1, 0, 0);

Vulkan::VkInstance inst = Vulkan::createInstance(&app_info);
Vulkan::VkDevice dev = inst.getDevice();
Vulkan::VkQueue = Vulkan::createQueue(dev, app_info.queueFamilyIndices.ranges[0].queueFamilyIndex);

创建一个顶点布局
Vulkan::VkPipelineLayout = Vulkan::createPipelineLayout(dev, app_info.pipelineLayouts.ranges[0].stageIndex);

创建一个顶点缓冲区并上传顶点数据
VkBuffer vertex_buffer = Vulkan::createBuffer(dev, app_info.maxFramebuffers, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
&vertex_data.raw);
vkCmdPushConstants(queue, app_info.pipelineLayout, VK_SHADER_STAGE_VERTEX_BIT, sizeof(float) * 4,
&vertex_shader.raw);
vkCmdDraw(queue, 3, 1, 0, 0);

三角形三角形结构并上传顶点和索引数据
三角形三角形 = { {
{0.0f, 0.5f, 0.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f, 1.0f} }, { {1.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 0.0f}, {1.0f, 0.0f, 1.0f} }, { {0.0f, 0.0f, 1.0f}, {0.0f, 1.0f, 1.0f}, {0.0f, 0.0f,

1.0f} };
VkBuffer buffer = Vulkan::createBuffer(dev, app_info.maxFramebuffers, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT,
&index_data.raw);
vkCmdPushConstants(queue, app_info.pipelineLayout, VK_SHADER_STAGE_VERTEX_BIT, sizeof(float) * 12,
&index_shader.raw);
vkCmdDrawIndexed(queue, 3, 1, 0, 0);

将交换链图像呈现给队列队列
.submit([&](){
while(!vkQueueSubmit(queue, 1, &submitInfo, VK_NULL_HANDLE) &&!VK_TIMEOUT);
});

等待队列完成执行
,而 (!vkQueueWaitIdle(queue)) { /
/ 在这里我们可以检查错误,再次显示交换链,交换缓冲区等。
}


清理 Vulkan::d estroyInstance(inst);
Vulkan::d estroyDevice(dev);
Vulkan::d estroyQueue(queue);
返回 0;

}


联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:开源最新XF 6.3.3 全系统破虚拟化源码 稳定无异常!
下一篇:开源一个XF好看的UI界面源码
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2025-4-7 01:42 , Processed in 0.131868 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

快速回复 返回顶部 返回列表