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

做外贸最适合的网站系统青岛网站模板

做外贸最适合的网站系统,青岛网站模板,珠海开发网站公司,做企业网站需要招标公告上面的技术参数写什么Qt 中使用 OpenGL 实现光照效果主要基于 OpenGL 的光照模型和着色器编程。以下是 Qt OpenGL 光照实现的核心原理: 一. 光照模型基础 OpenGL 使用 Phong 光照模型,包含三个主要光照分量: 环境光(Ambient):场景中的基础光照,没有方向性 漫反射光(Diffuse):与表面法线和光…

        Qt 中使用 OpenGL 实现光照效果主要基于 OpenGL 的光照模型和着色器编程。以下是 Qt OpenGL 光照实现的核心原理:

一. 光照模型基础

OpenGL 使用 Phong 光照模型,包含三个主要光照分量:

  • 环境光(Ambient):场景中的基础光照,没有方向性

  • 漫反射光(Diffuse):与表面法线和光线方向相关的散射光

  • 镜面光(Specular):在特定角度可见的高光反射

二. Qt 中的实现方式

2.1 传统固定管线方式 (已过时但简单)

cpp

// 启用光照
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0); // 启用0号光源// 设置光源属性
GLfloat lightPosition[] = {1.0f, 1.0f, 1.0f, 1.0f};
GLfloat lightAmbient[] = {0.2f, 0.2f, 0.2f, 1.0f};
GLfloat lightDiffuse[] = {0.8f, 0.8f, 0.8f, 1.0f};
GLfloat lightSpecular[] = {1.0f, 1.0f, 1.0f, 1.0f};glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);
glLightfv(GL_LIGHT0, GL_AMBIENT, lightAmbient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightDiffuse);
glLightfv(GL_LIGHT0, GL_SPECULAR, lightSpecular);// 设置材质属性
GLfloat materialAmbient[] = {0.7f, 0.7f, 0.7f, 1.0f};
GLfloat materialDiffuse[] = {0.8f, 0.8f, 0.8f, 1.0f};
GLfloat materialSpecular[] = {1.0f, 1.0f, 1.0f, 1.0f};
GLfloat materialShininess = 100.0f;glMaterialfv(GL_FRONT, GL_AMBIENT, materialAmbient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, materialDiffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, materialSpecular);
glMaterialf(GL_FRONT, GL_SHININESS, materialShininess);

2.2 现代可编程管线方式 (推荐)

使用着色器实现光照效果:

顶点着色器示例

glsl

#version 330 corelayout(location = 0) in vec3 position;
layout(location = 1) in vec3 normal;out vec3 FragPos;
out vec3 Normal;uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;void main()
{FragPos = vec3(model * vec4(position, 1.0));Normal = mat3(transpose(inverse(model))) * normal;gl_Position = projection * view * vec4(FragPos, 1.0);
}
片段着色器示例 (Phong光照)

glsl

#version 330 corein vec3 FragPos;
in vec3 Normal;out vec4 FragColor;uniform vec3 lightPos;
uniform vec3 viewPos;
uniform vec3 lightColor;
uniform vec3 objectColor;void main()
{// 环境光float ambientStrength = 0.1;vec3 ambient = ambientStrength * lightColor;// 漫反射vec3 norm = normalize(Normal);vec3 lightDir = normalize(lightPos - FragPos);float diff = max(dot(norm, lightDir), 0.0);vec3 diffuse = diff * lightColor;// 镜面光float specularStrength = 0.5;vec3 viewDir = normalize(viewPos - FragPos);vec3 reflectDir = reflect(-lightDir, norm);float spec = pow(max(dot(viewDir, reflectDir), 0.0), 32);vec3 specular = specularStrength * spec * lightColor;vec3 result = (ambient + diffuse + specular) * objectColor;FragColor = vec4(result, 1.0);
}

三. Qt 中的实现步骤

<


文章转载自:

http://BpEerbQo.Lfqtp.cn
http://3rNogYLs.Lfqtp.cn
http://Gxn2OuiC.Lfqtp.cn
http://RM9VS8wm.Lfqtp.cn
http://xslKObLJ.Lfqtp.cn
http://VX9wbm6I.Lfqtp.cn
http://DgezZWc0.Lfqtp.cn
http://Lyc7939L.Lfqtp.cn
http://eAt4XV58.Lfqtp.cn
http://zxswSsUK.Lfqtp.cn
http://QymmQQN0.Lfqtp.cn
http://8JXPkwGw.Lfqtp.cn
http://WEUkM1ui.Lfqtp.cn
http://hF7D1hHe.Lfqtp.cn
http://sXdCELvG.Lfqtp.cn
http://fPgMBsxy.Lfqtp.cn
http://T7GSBADW.Lfqtp.cn
http://tvLnnU39.Lfqtp.cn
http://IOY6MyJe.Lfqtp.cn
http://PbmJ1Cx8.Lfqtp.cn
http://pT4o9nO5.Lfqtp.cn
http://sg81vBdG.Lfqtp.cn
http://F7etzRjm.Lfqtp.cn
http://K3nY0MJn.Lfqtp.cn
http://HFYeOM9b.Lfqtp.cn
http://2h5MJKf3.Lfqtp.cn
http://1sDf5CG7.Lfqtp.cn
http://TIqONnp6.Lfqtp.cn
http://fkMvP9K0.Lfqtp.cn
http://rWs5Sm1N.Lfqtp.cn
http://www.dtcms.com/wzjs/695196.html

相关文章:

  • 株洲网站排名优化价格网站的颜色
  • 行政单位建设网站方案做网站主机电脑
  • 微信官方网站开发高埗做网站公司
  • 沈阳网站建设 龙兴科技网站建设和网页设计视频教程
  • 网站建设冫首先金手指十五iis怎么查看网站的域名
  • 西安企业管理咨询有限公司用仿网站做优化有效果吗
  • 装饰公司网站开发抖音粉丝购买网站
  • 南京网站建设网站设计 雷仁网络中国男女做网站
  • 做游戏攻略网站赚钱吗上海互联网企业
  • 有哪些可以免费做视频的网站徐州免费网站建设模板
  • 酒店网站的建设方案wordpress访问报错
  • 模块建站工具孝义网站开发公司
  • 网站代理合作网络营销有哪些营销方式
  • 大连营商环境建设局网站wordpress插件目录
  • 怎么利用wordpress做网站番禺信息网
  • 青岛网站开发工资做体育赛事网站公司
  • 做网站用哪个软件好设计制作中国第一架飞机的人
  • 萍乡网站开发河南火焰山网站开发禹
  • 西安专业做网站的的公司网站建设需要多久才能学会
  • 企业网站建站方案wordpress网站很慢
  • 网站开发摊销期多少年没有服务器做网站
  • 百度 移动网站优化做网站前台内容对应填充
  • 网站开发用什么软件开发沪浙网站
  • 建设商务网站目的及功能定位网站建设简讯
  • 网站建设费会计处理福州云建站模版
  • 上海网站建设上海黄金吴博 wordpress
  • 门业网站模板下载wordpress备份
  • 重庆建网站有哪些世界电商网站排名
  • dede旅游网站源码 多城市企业网站模板包含什么
  • 私有云可以做网站农村建设自己的网站