首页 > 编程语言 >C++和OpenGL实现3D游戏编程【连载11】——光照效果进阶

C++和OpenGL实现3D游戏编程【连载11】——光照效果进阶

时间:2024-09-24 11:24:15浏览次数:11  
标签:11 法线 进阶 效果 OpenGL 纹理 添加 我们 光照

1、本节要实现的内容

我们在前面的章节里内容简单的介绍了一下光照,随着后期对纹理内容的增加,我们需要了解更多的光照知识,本节我们回顾一下光照相关内容,并了解一下怎样实现纹理的光照效果。下面这个图就是我们借助于纹理文字产生的半透明光照效果。

<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="OJ1SHJi6-1727049453976" src="https://live.csdn.net/v/embed/426014"></iframe>

半透明纹理文字光照演示zhooyu

2、光照效果的实现逻辑

我们前面第3课的时候,介绍过给系统提供的正方体添加光照效果,只要在添加光源后设置物体的材质即可实现光照的效果。但是我们后期我们在给自己创建的物体添加光照效果时,采用以上步骤,并没有能够出现光照效果。主要问题在于系统提供的正立方体等图形,已经默认帮我们设置了光照法线,因此我们自己绘制的图形需要自己设定光照法线,简单的理解通过法线可以告诉系统每个面对光线的反射方向。其次,对于有纹理的物体表面,我们需要设置纹理和光线的融合效果,简单的理解就是光照和纹理需要进行合成处理,还好再没有Shader(着色器)

标签:11,法线,进阶,效果,OpenGL,纹理,添加,我们,光照
From: https://blog.csdn.net/zhooyu/article/details/142448114

相关文章

  • 万象更新 Html5 - es6 进阶: promise
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-es6进阶:promise示例如下:es6\src\advanced\promise.js/***Promise-用于异步编程(非多线程)*有3种状态:pending(进行中),fulfilled(已成功),rejected(已失败)*状态只能从pending变为fulfil......
  • 万象更新 Html5 - es6 进阶: async/await
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-es6进阶:async/await示例如下:es6\src\advanced\async_await.js/***async/await-用于异步编程(非多线程)*asyncfunction返回的是Promise对象*await用于等Promise对象或者thenab......
  • go基础-11.接口
    接口是一组仅包含方法名、参数、返回值的未具体实现的方法的集合packagemainimport"fmt"//Animal定义一个animal的接口,它有唱,跳,rap的方法typeAnimalinterface{sing()jump()rap()}//Chicken需要全部实现这些接口typeChickenstruct{Namestring}......
  • SW1125 集成氮化镓的高频准谐振模式反激变换
    SW1125是一款集成650VGaN的针对离线式反激变换器的高性能高集成度准谐振电流模式PWM变换器。芯片集成有700V高压启动电路、线电压掉电检测和X电容放电功能。SW1125工作于带谷底锁定功能的谷底开启模式,同时集成频率抖动功能以优化EMI性能;当负载降低时,芯片从P......
  • SQL进阶技巧:如何利用if语句简化where或join中的条件 | if条件语句的优雅使用方法
    目录0问题场景1数据准备2问题分析2.1需求一2.2需求二3小结想要进一步了解SQL这门艺术语言的,可以订阅我的专栏数字化建设通关指南,将在该专栏进行详细解析。专栏原价99,现在活动价39.9,按照阶梯式增长,还差3个名额将上升至59.9,直到恢复原价。数字化建设通关指南0......
  • 昇思MindSpore进阶教程-参数初始化
    大家好,我是刘明,明志科技创始人,华为昇思MindSpore布道师。技术上主攻前端开发、鸿蒙开发和AI算法研究。努力为大家带来持续的技术分享,如果你也喜欢我的文章,就点个关注吧使用内置参数初始化MindSpore提供了多种网络参数初始化的方式,并在部分算子中封装了参数初始化的功......
  • navicat无法连接远程mysql数据库1130报错的解决方法
    出现报错:1130-Host'ipaddress'isnotallowedtoconnecttothisMySQLservenavicat,当前ip不允许连接到这个MySQL服务解决当前ip无法连接远程mysql的方法1.查看mysql端口,并在服务器安全组中放开相应入方向端口后重启服务器sudonetstat-tulnp|grepmysql查看端......
  • Vue 2&3进阶面试题:(第五天)
    目录17.keep-alive18.$router和$route的区别19.vue-router路由模式有几种?20.vue的路由传参param和query的区别17.keep-alivekeep-alive是Vue的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。keep-alive是一个抽象组件:它自身不会渲染成一个DO......
  • Creo 11.0百度云资源中文版+详细安装教程下载
    如大家所熟悉的,Creo是一款计算机辅助设计(CAD)应用程序,由PTC开发。该套件由应用程序组成,每个应用程序都为产品开发中的用户角色提供一组独特的功能。Creo在Windows系统上运行并兼容,提供用于3DCAD参数化特征实体建模、3D直接建模、2D正交视图、有限元分析和仿真、原理图设计......
  • 筛质数(线性筛法--进阶版)(面对大部分都直接ac)
    给定一个正整数 n,请你求出 1∼n中质数的个数。输入格式共一行,包含整数 n。输出格式共一行,包含一个整数,表示 1∼n中质数的个数。数据范围1≤n≤10^6输入样例:8输出样例:4思路:给一个数:将质数筛到的同时,筛去它的倍数,并且该倍数一定是在给定的数内的这样在下次......