alex1992azh
码龄8年
关注
提问 私信
  • 博客:34,446
    34,446
    总访问量
  • 28
    原创
  • 2,023,547
    排名
  • 14
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2016-12-10
博客简介:

alex1992azh的博客

查看详细资料
个人成就
  • 获得12次点赞
  • 内容获得7次评论
  • 获得38次收藏
创作历程
  • 26篇
    2018年
  • 2篇
    2016年
成就勋章
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

一次心血来潮的C程序编译 && makefile

前言想复习下数据结构,所以看了看相关的课程后打算手写一些东西,比如链表或者说其他的常用数据结构。环境MacOSXVSCode本来打算在xcode上直接写纯C的程序的,但是写了几行就发现。。真鸡儿麻烦啊,而且我xcode用的也不好,各种快捷键也不熟就被劝退了。然后看到公司同事(server)很多都在用VSCode,可能是因为大家都在用mac笔记本的原因装visualstudio基本上就...
原创
发布博客 2018.10.09 ·
467 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

无意间看到Pure-Mvc记录下

Pure-MVC前言在学习creator的一些框架的时候看到一些使用了MVC的内容,就在此做个思考和总结。PureMVC-TypeScript版本代码量很少非常容易看懂。什么是MVC开局一张图,内容全靠想 很明显的分层设计 Model View Controller但是这三个部分都是单例 都是单例 都是单例 重要的事说三遍要想扩展各式各样的 MVC 要用 对应的中间...
原创
发布博客 2018.09.14 ·
264 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于ECS设计以及MVC分层设计和组件化设计的思考和总结(这个标题就问你长不长)

前言 最近工作忙了很多关于设计的事情,用了常用的分层设计MVC也尝试是用了ECS这种设计方式,同时也参考了Unity或者Creator的这种组件化方式。有了很多困惑也有了一些总结。首先,MVC也好ECS也好他们都是一种编程的范式,或者说你组织代码的方式。然而他们的层面不同,也就是说不是一个层面的东西。MVC:用来解决UI交互方面的成熟的经验体系,是一种分层的设计。ECS:是一...
原创
发布博客 2018.09.13 ·
1806 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

Opengl-法线贴图(用来细化表面的表现表现的凹凸)

我们通过这张图可以看出来,使用了法线贴图的物体表面更有细节更逼真,其实这就是发现贴图的作用,没什么钻牛角尖的。其实表面没有凹凸的情况是因为我们把表面一直按照平整来做的,要想突出这个表面的凹凸就要用到法线贴图到这里,我们暂停想一下,前面说的几种贴图,漫反射贴图,镜面光贴图,然后再到这个法线贴图。明白了什么?其实很简单,就是我们法线虚拟的和现实的差距就会通过这种贴图的形式来着重表现某一...
原创
发布博客 2018.08.17 ·
1312 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Opengl-阴影(分为定向光的和点光源的)

前言我们模拟了光照,发现真的很厉害,加上天空盒子,再加上反射感觉很逼真,但是看着看着你会发现。。不对,没影子。是的,光和影分不开的,有光的地方就会有影子,这才是真实的道理。怎么模拟影子呢?这就要用到前面学到的,帧缓冲-写入纹理。 阴影产生的原因如图,就是因为同一条射线上里的光近的物体挡住了离的远的物体。 我们如何判断一个物体是否在阴影中呢?就是按照图上的,Z Distanc...
原创
发布博客 2018.08.17 ·
2218 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Opengl-实例化(不知道为啥叫实例化,感觉应该叫一次批量渲染)

核心:glDrawArraysInstanced 和以往的不同就是这句Draw的时候改成这个API补充:glVertexAttribDivisor 这个函数告诉了OpenGL该什么时候更新顶点属性的内容至新一组数据。它的第一个参数是需要的顶点属性,第二个参数是属性除数(Attribute Divisor)。默认情况下,属性除数是0,告诉OpenGL我们需要在顶点着色器的每次迭代时更...
原创
发布博客 2018.08.17 ·
1594 阅读 ·
2 点赞 ·
1 评论 ·
1 收藏

Opengl-几何着色器(劫持顶点的家伙)

前言我们知道在片段着色器和顶点着色之间,有一个几何着色器,我们之前说过它但是一直没有讲,这里了解一哈。几何着色器的输入是一个图元(如点或三角形)的一组顶点。几何着色器可以在顶点发送到下一着色器阶段之前对它们随意变换。然而,几何着色器最有趣的地方在于,它能够将(这一组)顶点变换为完全不同的图元,并且还能生成比原来更多的顶点。#version 330 corelayout (po...
原创
发布博客 2018.08.17 ·
750 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Opengl-立方体贴图(天空盒子)

立方体贴图就是一个包含了6个2D纹理的纹理,每个2D纹理都组成了立方体的一个面:一个有纹理的立方体。你可能会奇怪,这样一个立方体有什么用途呢?为什么要把6张纹理合并到一张纹理中,而不是直接使用6个单独的纹理呢?立方体贴图有一个非常有用的特性,它可以通过一个方向向量来进行索引/采样。假设我们有一个1x1x1的单位立方体,方向向量的原点位于它的中心。使用一个橘黄色的方向向量来从立方体贴图上采样一...
原创
发布博客 2018.08.17 ·
3077 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Opengl-帧缓冲(一个新的缓冲对象,想一下深度和模板缓冲)

OpenGL中的缓冲只是一个管理特定内存块的对象,没有其它更多的功能了。首先我们明确一个原理或者道理,不论是什么缓冲,深度也好,模板也罢。再往前说的顶点数据的颜色缓冲。都是一个存储的单元,都是一个存储对象,管理一块特定的内存。没有什么特殊的功能。千万别想太多,记住了哈。帧缓冲FBO 也就是帧缓冲 FrameBufferObject ,可以用来做很多事,核心上来说,它干了什么...
原创
发布博客 2018.08.17 ·
823 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Opengl-面剔除(一种优化方式)

前言我们已经可以正常的渲染一个物体也好加载一个模型也好,比如立方体,可以正常的渲染,然后我们还可以挪动摄像机来观察每一个面,但是,有一个问题想一想。我们挪动相机进入了立方体里面就会发现里面也渲染了。这。。问题出来了。可能很多东西我们都不希望或者根本没想着把里面也渲染的那么好。。我们看不到还浪费这个资源去计算渲染干嘛? 面剔除OpenGL能够检查所有面向(Front Fac...
原创
发布博客 2018.08.17 ·
604 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Opengl-混合(原来不理解的src dst blender总算理解了)

混合混合干什么:混合(Blending)通常是实现物体透明度(Transparency)的一种技术。也就是说为了实现透明的感觉,因为生活中玻璃等等的材质都是透明的,那么怎么模拟就用混合混合规则: GL_ZERO 因子等于0 GL_ONE 因子等于1 GL_SRC_COLOR 因子等于源颜色向量C¯source GL_ONE_MINUS_SRC_COLOR 因子...
原创
发布博客 2018.08.16 ·
2773 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Opengl-深度测试&&模板测试

深度测试深度缓冲:用来存储深度信息的,可以这么理解,在你屏幕上最后留下的裁剪区域你看到的东西其实是有深度的,就像现实世界里一样,有远近这样。然后这个远近的程度信息就存储在了深度缓冲里深度测试:当深度测试(Depth Testing)被启用的时候,OpenGL会将一个片段的的深度值与深度缓冲的内容进行对比。OpenGL会执行一个深度测试,如果这个测试通过了的话,深度缓冲将会更新为新的...
原创
发布博客 2018.08.16 ·
1064 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

Opengl-模型(告别箱子加载模型)

先放一个效果图关于模型加载 一个非常流行的模型导入库是Assimp,它是Open Asset Import Library(开放的资产导入库)的缩写。Assimp能够导入很多种不同的模型文件格式(并也能够导出部分的格式),它会将所有的模型数据加载至Assimp的通用数据结构中。当Assimp加载完模型之后,我们就能够从Assimp的数据结构中提取我们所需的所有数据了。由于...
原创
发布博客 2018.08.16 ·
1139 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Opengl-光照章节学习成果

存在聚光灯 + 平行光 + 点光源
原创
发布博客 2018.08.16 ·
249 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Opengl-光照-基本光照-投光物-多光源(现实世界的光可不只有太阳也并不只有一个)

前言相信大家看过各种发光的道具,手电筒?看到过吧?灯泡看到过吧?除了太阳生活中还有各种灯红酒绿的地方(说错了)等着你去看啊各种光源平行光-太阳或者很远处的光都可以叫做平行光 平行光的光的方向是一个固定的值不变的vec3 lightDir = normalize(-light.direction);点光源-灯泡-各种灯 我们前面一直讨论的就是一个点光源...
原创
发布博客 2018.08.16 ·
443 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Opengl-光照-基本光照-光照贴图(现在告别单调的方块弄个箱子)

前言前面我们跟着LearnOpengl学习的都是通过怎么定义一些顶点数据弄出一个立方体在三维世界里模拟光照模拟光源。看着是有点真实的样子了。。可是你见过哪个真实世界里都是这些个立方体的,肯定都是真切的物体啊,什么房子,树,石头,木头等等。要怎么模拟这些呢?怎么把这些放进去呢?很简单啊。基本章节就学习了纹理坐标,我们就已经给立方体贴上了纹理让它成为了一个箱子-结果可以去看我第一章最后的成...
原创
发布博客 2018.08.16 ·
2195 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

Opengl-光照-基本光照-材质(有了材质一个物体才算是完整了)

在现实世界里,每个物体会对光产生不同的反应。比如说,钢看起来通常会比陶瓷花瓶更闪闪发光,木头箱子也不会像钢制箱子那样对光产生很强的反射。每个物体对镜面高光也有不同的反应。有些物体反射光的时候不会有太多的散射(Scatter),因而产生一个较小的高光点,而有些物体则会散射很多,产生一个有着更大半径的高光点。如果我们想要在OpenGL中模拟多种类型的物体,我们必须为每个物体分别定义一个材质(Ma...
原创
发布博客 2018.08.16 ·
1708 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Opengl-光照-基本光照-冯氏(千万好好理解后面所有的延伸基本都是基于这个的)

前言前面我们基本理解了怎么模拟光,怎么设置光的颜色以及物体的颜色来非常不生动形象的模拟光在计算机中。肯定在想,怎么能真的像生活中那样物体可以反光,然后有凉的地方也有不凉的地方,光也有强弱这种?其实前辈们已经给了一套很好的经验体系–冯氏光照模型 冯氏光照这图是我从LearnOpengl那里拿的,为什么用这张图解释呢?就是因为找了很多都感觉这张图真的很贴切。 从左到右依...
原创
发布博客 2018.08.16 ·
3071 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

Opengl-光照-颜色(其实要想做出好看的东西这章最重要了)

前言前面的基础章节说了下Opengl入门的一些基础知识,通过这些基础知识你可以制作Camera或者让物体移动啊又或者放一张图片上去当做纹理贴图丰富物体的显示 但是其实不论怎么折腾你会发现略微呆板,没有鲜活的感觉。为什么呢?就是因为我们其实想让显示的东西像真实世界一样,然而却忽略了世界上最重要的东西-光!是的没有错,生活中你睁开眼闭上眼都可以感受到光的存在,看到任何东西都会因为光的...
原创
发布博客 2018.08.16 ·
990 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Opengl-基本章节的学习成果

这就是我们利用基本章节学习的 VBO VAO 纹理 矩阵乘法 坐标系变换 做出来的东西
原创
发布博客 2018.08.15 ·
228 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多