C++和OpenGL实现3D游戏编程【连载10】——纹理的半透明显示

ops/2024/9/23 6:30:45/

1、本节实现的内容

上一节课我们讲到了图片的镂空显示,它能在显示图片时去除指定颜色的背景,那么这节课我们来说一下图片的半透明显示效果,半透明效果能给画面带来更高质量的提升,使图片显示的更自然,产生更真实的效果。下面是一个气泡向上漂浮的效果。

气泡效果

2、非纹理图像的半透明显示

首先我们回顾一下非纹理图形的半透明显示方法,非纹理的图形的半透明显示主要使用glBlendFunc和glColor4f等函数就可以直接实现,比如我们使用OpenGL的绘图在glBegin()和glEnd()函数之间画的各种图形。以及系统提供的系统提供的正方体、四面体、正八面体、正十二面体、正二十面体、球体、圆环体、茶壶等多个基础图形。例如下图我们生成的三个颜色球体透明效果如下:

具体代码:

	//启用透明效果

http://www.ppmy.cn/ops/114628.html

相关文章

Spring Cloud Alibaba-(5)Seata【分布式事务】

Spring Cloud Alibaba-(1)搭建项目环境 Spring Cloud Alibaba-(2)Nacos【服务注册与发现、配置管理】 Spring Cloud Alibaba-(3)OpenFeign【服务调用】 Spring Cloud Alibaba-(4)Sen…

【Proteus仿真】基于51单片机的宠物喂食系统设计

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,两个按键调整重量阈值的大小,如果mpx4117压力传感器测重没超过阈值, 则电机转动,表示投喂,蜂鸣器发出滴滴声,如…

计算机毕业设计springboot+vue高校教学实施评教系统springcloud微服务分布式

目录 功能和技术介绍系统实现截图开发核心技术介绍:使用说明开发步骤编译运行需求分析系统设计软件测试核心代码部分展示详细视频演示源码获取 功能和技术介绍 本项目包含程序源码和MySql脚本和文档,idea开发,支持Eclipse。使用vue的本质是SpringFramework【IoC&am…

Android Choreographer 监控应用 FPS

Choreographer 是 Android 提供的一个强大的工具类,用于协调动画、绘制和视图更新的时间。它的主要作用是协调应用的绘制过程,以确保流畅的用户体验。Choreographer 也可以帮助我们获取帧时间信息,从而为性能监测和优化提供重要的数据支持。 …

mockito+junit搞定单元测试(2h)

一,简介 1.1 单元测试的特点 配合断言使用(杜绝 System.out )可重复执行不依赖环境不会对数据产生影响spring 的上下文环境不是必须的一般都需要配合 mock 类框架来实现 1.2 mock 类框架使用场景 要进行测试的方法存在外部依赖(如 db, redis, 第三方接口调用等)…

STM32 单片机最小系统全解析

STM32 单片机最小系统全解析 本文详细介绍了 STM32 单片机最小系统,包括其各个组成部分及设计要点与注意事项。STM32 最小系统在嵌入式开发中至关重要,由电源、时钟、复位、调试接口和启动电路等组成。 在电源电路方面,采用 3.3V 直流电源供…

【数据结构与算法 | 灵神题单 | 栈基础篇】力扣155, 1472, 1381

1. 力扣155:最小栈 1.1 题目: 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆…

修复 blender 中文输入 BUG (linux/wayland/GNOME/ibus)

blender 是一个很好的 开源 3D 建模/动画/渲染 软件, 功能很强大, 跨平台 (GNU/Linux, Windows 等系统都支持). 然而, 窝突然发现, blender 居然不支持中文输入 (linux) ! 这怎么能忍 ? 再一查, 不得了, 这居然是个 3 年前一直未解决的陈年老 BUG. 不行, 这绝对忍不了, 这个 …