- 2024-08-09Opengl: 使用glsl 将纹理处理成圆角的几种思路
在GLSL中实现纹理圆角效果可以通过多种方法,这些方法各有其优缺点和适用场景。以下是几种常见的实现方法:1.使用距离函数最常见的方法是计算像素到中心的距离,并使用该距离来决定像素是否显示。#version330coreinvec2TexCoord;outvec4FragColor;uniformsampler2Dte
- 2024-06-15OpenGL3.3_C++_Windows(9)
最终效果demo演示多光源原理:所有投光物分别计算,对当前片段的影响,再+求和,渲染出物体的材质效果每个投光物:根据冯氏光照(环境,漫反射,镜面)分解计算对片段的强度影响,再与当前片段颜色值(单一颜色/纹理颜色)*相乘每个投光物也会对(环境,漫反射,镜面)有不同的影响程度通
- 2024-04-08第六个OpenGL程序,Coordinate Systems 坐标系统 后续之 3D 1(这个图形有点奇怪)
效果:代码main.cpp:#include<iostream>#include<glad/glad.h>#include<glfw3.h>#include"Shader.h"#defineSTB_IMAGE_IMPLEMENTATION#include<stb_image.h>#include<glm/glm.hpp>#include<glm/gtc/matrix_transfo
- 2024-04-08第六个OpenGL程序,Coordinate Systems 坐标系统
效果: 代码main.cpp:#include<iostream>#include<glad/glad.h>#include<glfw3.h>#include"Shader.h"#defineSTB_IMAGE_IMPLEMENTATION#include<stb_image.h>#include<glm/glm.hpp>#include<glm/gtc/matrix_trans
- 2024-04-06第四个OpenGL程序,texture 纹理 后续之 unit 纹理单元
效果: 代码main.cpp:#include<iostream>#include<glad/glad.h>#include<glfw3.h>#include"Shader.h"#defineSTB_IMAGE_IMPLEMENTATION#include"stb_image.h"usingnamespacestd;//回调函数,每当窗口改变大小,视口大小也跟随改变voidfram
- 2024-03-20opengl日记10-opengl使用多个纹理示例
文章目录环境代码CMakeLists.txt文件内容不变。fragmentShaderSource.fsvertexShaderSource.vsmain.cpp总结环境系统:ubuntu20.04opengl版本:4.6glfw版本:3.3glad版本:4.6cmake版本:3.16.3gcc版本:10.3.0在<opengl学习日记9-opengl使用纹理示例>的基础上,拓展使用多个纹
- 2023-01-31Camera画面边缘羽化
用到的shaderShader"My/EdgeFade"{Properties{_EdgeFade("EdgeFade",Range(0,1))=0.8}SubShader{Tags{
- 2023-01-29uv值显示为颜色
UVColor.shaderShader"My/UVColor"{Properties{}SubShader{Tags{"RenderType"="Opaque"}
- 2023-01-29贴图填满相机视口
效果图1)FillCamera.shader和材质FillCamera.mat,将材质贴图设置为bg2)场景中创建一个Quad(Plane不行),材质设置为FillCamera.mat FillCamera.shaderShader"My/
- 2022-08-22纹理
纹理坐标floattexCoords[]={ 1.0f,1.0f,//右上 1.0f,0.0f,//右下 0.0f,1.0f,//左上 0.0f,0.0f//左下 };纹理环绕方式把纹理坐标设置在(0,0)到(1,1)之外