最近找实习有一丢丢蛋疼,沉迷鬼泣5,四周目通关,又不想写代码,写篇笔记复习一下,要好好学图形学啊 用OpenGL画一个三角形 项目的简介 记录一下跟着learnOpenGL学习的过程 笔记里的代码放在github上,依赖都用相对路径配好了,直接下载就能用,IDE是VS2017,代码 选择Triangle项目作为启动项可以测试这个代码 使用的库是glad和glfw,感觉用glad和glfw开发OpenGL的方式和DX挺像的,也有可能是我见识少, 感觉很多教材用来教学的库都是GLUT, 嘛,学图形学…
画一个正方形 其实,画正方形就是画两个三角形,用四个顶点以及使用索引来实现 完整代码在Square项目的Application.cpp里 先贴上窗口初始化代码 void BaseInit() { glfwInit();//初始化 glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);//配置GLFW glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);//配置GLFW glfwWindowHint(GLFW_OPENG…
开始学习OpenGL,参考的是著名的LearnOpenGL这个网站,在这里做一些总结性的记录,只是方便自己日后查找或者记录自己的一些拓展思考,关于OpenGL的具体内容请移步: https://learnopengl-cn.github.io/ 或英文原版:https://learnopengl.com/ 配置环境 LearnOpenGL中使用了GLFW和GLAD两个库来配置环境,原文已经很详细地列出了所有步骤,就不再多说了,获取两个库之后在Visual Studio的项目属性中的VC++目录中…
开始学习OpenGL,参考的是著名的LearnOpenGL这个网站,在这里做一些总结性的记录,只是方便自己日后查找或者记录自己的一些拓展思考,关于OpenGL的具体内容请移步: https://learnopengl-cn.github.io/ 或英文原版:https://learnopengl.com/ 纹理坐标 为了能够把纹理映射(Map)到三角形上,我们需要指定三角形的每个顶点各自对应纹理的哪个部分.这样每个顶点就会关联着一个纹理坐标(Texture Coordinate),用来标明该从纹…
首先,给出这次学习的代码原网址.------>原作者的源代码 (黑体是源码,注释是写的.) 引用的库(预编译): #include <glad/glad.h> //控制编译时函数的具体位置的库,GLAD是用来管理OpenGL的函数指针. //因为各个计算机显卡驱动版本不同,所以需要在编译的时候现场确定位置. #include <GLFW/glfw3.h> //OpenGL的c语言实现库,提供了一些必备的函数接口. #include <iostream> //c++…
目录 1. 绪论 2. 概述 3. 详论 3.1. 准备 3.2. 实现 3.3. 解析 3.3.1. 场景树对象 3.3.2. 绘制方法 4. 结果 1. 绪论 最近想学习一下Unity3d,无奈发现现在大部分教程不仅是视频形式的,面对的也是美术.设计之类的非程序员,更多的时候都是把Unity3d当作PS一样的工具来用,真正面对程序开发的教程反而非常少,更不用说希望能研究到一些底层图形技术的技术工作者了. 说一下我看的两本Unity3d书籍吧.第一本是<Unity 3D游戏开发(第2版)>(…
一个例子就够了,单击文本标签,执行动画.我也是小白,写这个demo的时候遇到了问题,单击文本标签游戏就死掉了.今天为了解决这个问题也是一晚没睡,到学习群里问大神,经过大神的指点解决了问题.原来是Animation和Animate的生命周期的关系.先记下. bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } Sp…
执行效果 代码及解析: // // Triangle.cpp // Triangle // // Created by fengsser on 15/6/20. // Copyright (c) 2015年 fengsser. All rights reserved. // #include <GLTools.h>//用作掩盖不同平台的差异,建立窗体等工作 #include <GLShaderManager.h> #ifdef __APPLE__ #include <glut…
本文主要涉及了ngAnimation和ngTouch模块,自由男人讲的比较少,估计要用的时候还要更加系统的学习一下. 一.安装 没错,就是酱紫. 二.玩玩动画 <!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <meta charset="UTF-8"> <title>route test</title> <s…
在opengl中所有的数据都要放在显存中,我们通过一定的手段去管理它,既要提供地方存放它,还要提供方法去正确地提取它们,去使用它们,opengl通过VAO,VBO,EBO这些手段来解决这些问题. (一)VBO(Vertex Buffer Objects,顶点缓冲对象)介绍: 首先我们要明白VBO是一种管理手段,它的中文名中"缓冲",就决定了它是管理存储的一种手段(methon),总的来 说,为什么要设置这个VBO,是应该从着色器程序说起. 着色器的第一个顶点着色器接受到我们数据流传入的…
最近在看算法分析,那个大O啊,小o啊,分治法啊(目前就看到这里),真是搞死了.这回呢休息一下,学学AngularJS动画,上一篇文章根据自由男人的书简单谈到了动画的话题,发现反响很大(好吧,我说慌了,那篇文章的动画谈得太简单了),今天来看看官方文档.嗯,边看边写. 一.安装 这个应该都知道了,和其他的扩展模块安装相同.这里为了文章完整性简单提一下.文档给到了获取动画扩展angular-animate.js的多种方式. 1.cdn,自己去查 2.npm install --save angular…
在设计物体表面时,很多时候我们不满足于一种颜色或者几种简单颜色,我们希望是丰富多彩的图案,或者说我们提供给它的图片.这样一个顶点一个顶点的去指定那是行不通了,我们不可能把所有顶点用数字去表达出来,必须用一种新的方式去设置颜色.这就是纹理,像用一张画去贴在物体的表面一样,这样就不用指定太多的点,只需要设置“边界”就可以了.我们把这种行为叫做映射. 我们不可能随便映射,我们必须告诉程序三个东西:1.纹理图片剪裁多少(边界坐标位置)2.纹理图片对应的3d面的边界(顶点坐标位置)3将纹理图片的坐标与3d…
#version 330 core out vec4 FragColor; in vec3 ourColor; in vec2 TexCoord; uniform sampler2D ourTexture; void main() { FragColor = texture(ourTexture, TexCoord); } 在刚才的程序中,关于片段着色器的中我们声明了一个采样器(Sampler),一般来讲我们需要用glUniform1i()函数进行将纹理对象(数据),从CPU中传入显存中的着色器…
之前我们将着色器的代码用glsl写好之后,保存为字符串指针,然后用一个函数去编译它,这是一种手段,对于简单的着色器代码可以这样.但当我们针对复杂的着色器,我们发现编写.编译.管理着色器是一件麻烦事.我们用一个类将着色器的所有编译,链接,管理都放在一个文件里.再将着色器源码单独设置成.glsl文件用来,从文件流读取,不再放到c++编译器里了.这样主函数就比较简洁了. 我们建立一个类shader,将一切着色器的步骤都在这个类里封装了,这样我们在主函数实例化它,我们就直接可以使用着色器不用在意内部的具…
着色器在OpenGL中发挥着重要作用,它就像一个画笔,将输入的数据流,转为数学坐标,再将三维坐标变成二维坐标(针对我们现在用的二维显示器,全息显示器肯是三维的),再把二维坐标实际的像素点位置(这里面肯定存在的粗略的误差,比如(3.423,234.232)肯定在实际像素中不存在,要转换成邻近的),然后再往里面填充色彩,透明度之类的参数.      准确来说其实就是两步工作1.确定位置2.填充色彩.       处于输入输出与处理接口分开的原则,我们不考虑输入的数据具体是什么,这里只讨论如何去处理数…
目录 1. 概述 2. 详论 2.1. 网格(Mesh) 2.1.1. 顶点 2.1.2. 顶点索引 2.2. 材质(Material) 2.2.1. 创建材质 2.2.2. 使用材质 2.3. 光照 3. 代码 1. 概述 上一篇文章<Unity3D学习笔记1--绘制一个三角形>中介绍了Unity3D的HelloWorld--绘制一个简单的三角形.不过这个三角形太简单了,连材质都没有.那么这里就将三角形扩展为一个矩形的面,并且为这个面贴上纹理. 2. 详论 2.1. 网格(Mesh) 前面说…
上一次我们学习了如何画一个2D三角形,现在让我们进一步学习如何画一个旋转的彩色立方体吧. 具体流程同画三角形类似,因此不再给出完整代码了,不同的部分会再说明. 由于我们要画彩色的立方体,所以顶点结构体中加入颜色变量 struct Vertex { XMFLOAT3 pos; XMFLOAT4 color; }; 着色器代码 cbuffer cbPerObject { float4x4 gWorldViewProj; }; struct VertexIn { float3 PosL : POSIT…
Python 图片转字符画 学习笔记 标签(空格分隔): Python 声明:此文章和所有代码是学习笔记,非原创,原文教程地址:https://www.shiyanlou.com/courses/370/labs/1191/document 实验楼我感觉挺好的,但为了保存自己的代码,我是在自己本地电脑敲的代码,并且改造了一下. 这个教程是说如何把一个图片转化为字符画. 可以直接运行的代码如下: from PIL import Image IMG = "ascii_dora.png" W…
        本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候,会使用章节号而非页码.相同的情况适合于"龙书"第二版. 上一期的地址: DX 11游戏编程学习笔记之7  这一期我们专门来研究第6章的习题. 尽管数目比較多,可是大部分还是非常easy的.注意我说的是"大部分"! 习题解答: =====================…
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染. WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏. 原生的WebGl比较复杂,主要通过对顶点着色器和片元着色器的操作,来实现渲染,但实…
本博客是本人日常学习笔记,作为重要知识点的总结记录,随笔风格可能更倾向于个人的学习习惯和方式,若对您有帮助十分荣幸,若存在问题欢迎互相学习探讨,前端小白一枚在此恭候. 一.基本使用规则 1.创建画布 2.创建绘图对象 3.开始位置 (画一条线当lineWidth特别大的时候起始点从这条线的左下角开始的) 4.结束位置 5开始画图 注意:canvas标签是不能在css中设置的,在标签上面设置width和height属性,值为不带px的数值; 栗子一:画一条直线 //1.画一条线 var c = d…
http://www.cnblogs.com/tornadomeet/archive/2012/08/23/2653305.html 在这一节中主要简单介绍下怎样给平面几何着色,以及怎样让绘制出来的几何图形旋转起来.在上一节OpenGL_Qt学习笔记之_02(绘制简单平面几何图形) 中已经介绍了如何利用opengl画一些简单的图像,那么这一节就在上面的基础上给它着色,且让他旋转. 实验基础 首先来看着色,其实着色在上篇文章中已经用过,使用的是函数glColor3f().一旦我们使用这个函数着色后…
amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert"> 没什么可给你,但求凭这阙歌.谢谢你风雨里,都不退愿陪着我. </div> 2.警告框关闭按钮:data-am-alert应该是js事件,因为点击后面的关闭按钮真的可以关闭掉 <div class="am-alert" data-am-alert> <…
本博客采用思维导图式笔记,所有思维导图均为本人亲手所画.因为本人也是初次学习Python语言所以有些知识点可能不太全. 基础班第一天学习笔记:链接 基础班第二天学习笔记:链接 基础班第三天学习笔记:链接 基础班第四天学习笔记:链接 基础班第五天学习笔记:链接 基础班第六天学习笔记:链接 基础班第七天学习笔记:链接 基础班第八天学习笔记:链接 基础班第九天学习笔记:链接 基础班第十天学习笔记:链接 字符串思维导图 列表思维导图 元组思维导图 集合思维导图 字典思维导图 容器类型的公共方法 函数的思…
一起来学matlab-matlab学习笔记8 基本绘图命令_4 LineSpec线条设定 觉得有用的话,欢迎一起讨论相互学习~Follow Me 绘图函数接受线条设定作为参数并相应地修改生成的图形.您可以为线条指定以下三个要素: 线型 标记符号 颜色 使用点划线 (-.) 绘制 x-y 图,在数据点位置放置圆形标记 (o),并将线条和标记设置为红色 (r). x=0:0.05*pi:2*pi; %按步长赋值生成x数组 y1=sin(x); y2=cos(x); %生成正弦.余弦函数值数组y1.y…
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第五章:渲染流水线 学习目标 了解几个用以表达真实场景的标志和2D图像的深度空间: 学习在Direct3D中如何表示3D物体: 学习如何模拟虚拟摄像机: 理解渲染流水线:如何用几何描述的3D场景渲染出2D图像: 1 3D幻觉 如何在2D平面(显示器)上产生3D场景的幻觉: 1.根据与摄像机的距离缩放: 2.遮挡关系: 3.光照: 4.阴影 2 模型的表示 一个模型是由…
本片博客用于记录之后要用到Bootstrap的学习笔记   概括: Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的.   选用的原因: 1.浏览器支持:所有的主流浏览器都支持 Bootstrap. 2.容易上手:只要具备 HTML 和 CSS 的基础知识,就可以开始学习 Bootstrap.   包的基本结构: Bootstrap 提供了一个带有网格系统.链接样式.背景的基本结构. Bootstra…
摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的,所以我就想着研究一下这个库,这里是个人的学习笔记,不是什么权威的教程,如果你们有错误也麻烦帮我指出哈. =============================================分割线==================================================…
Caliburn.Micro学习笔记目录 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle IConductor  ,Conducto…
前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工神经网络结构与人工神经网络可以完美分割任意数据的原理: 本节图片来源于斯坦福Andrew Ng老师coursea课件(此大神不多介绍,大家都懂) 在说明神经网络之前,先介绍一下神经网络的基础计算单元,感知器. 上图就是一个简单的感知器,蓝色是输入的样本,g(z)是激活函数,z=x1*w1+-,a=g(z) 这…