创建太阳系模型 描述的程序绘制一个简单的太阳系,其中有一颗行星和一颗太阳,用同一个函数绘制.需要使用glRotate*()函数让这颗行星绕太阳旋转,并且绕自身的轴旋转.还需要使用glTranslate*()函数让这颗行星离开原点,移动到它自己的轨道上.可以在glutWireSphere()函数中使用适当的参数,在绘制球体时指定球体的大小. planet.c #include <GL/glut.h> ,day =; void init(void) { glClearColor(0.0,0.0,0…
这里不再介绍effect框架的具体使用,有关effect框架使用可参考http://www.cnblogs.com/zhangbaochong/p/5475961.html 实现的功能依然是画一个简单的三角形,只不过使用了effect框架. 为了体现使用effect框架方便变量绑定的优点,我们对着色器代码做了修改,增加了一个常量float4x4 gWorldViewProj cbuffer cbPerObject { float4x4 gWorldViewProj; }; float4 VS_M…
根据前面两个笔记的内容,我们来封装一个简单的基类,方便以后的使用. 代码和前面类似,没有什么新的内容,直接看代码吧(由于代码上次都注释了,这次代码就没怎么写注释o(╯□╰)o) Dx11DemoBase.h Dx11DemoBase.h #pragma once #include <d3d11.h> #include <D3DX11.h> #include <DxErr.h> class Dx11DemoBase { public: Dx11DemoBase(); vi…
本文由zhangbaochong原创,转载请注明出处http://www.cnblogs.com/zhangbaochong/p/5510294.html 上一个教程我们实现了渲染一个会旋转的立方体,这次我们来实现一个简单地形. 先来看看最终实现效果吧(蓝色是背景色,地形的不同高度分别渲染了不同颜色) 实现原理其实很简单,我们现在xz平面定义一个二维网格,然后y值可以根据一定的函数得到,比如正余弦函数组成等等,便可以得到一个看似不错的地形 或者水面效果. 1.创建二维网格 首先我们在Geomet…
参加实习(WPF)已经有两个多周的时间了,踩了一些坑,也算积累了一些小东西,准备慢慢拿出来分享一下.(●'◡'●) 这次呢就讲讲一个简单的电子签名板的实现. 先上张图(PS:字写得比较丑,不要太在意哈): 1.任务目标 最基本的需求:1.签名功能 2.清除签名 3.保存签名(让用户选择文件夹.签名保存为PNG格式的图片) 尝试额外功能:1.Ctrl + Z实现撤销功能 2.Ctrl + Y实现重做功能 3.保存签名后打开文件位置并选中文件 2.搞事情 1)UI方面 如图,总体来说,一个InkCa…
视口变换主是将视景体内投影的物体显示到二维的视口平面上. 在计算机图形学中,它的定义是将经过几何变换, 投影变换和裁剪变换后的物体显示于屏幕指定区域内. 前面我们讨论过的透视投影, 正射投影, 它们都会产生一个视景体, 利用Viewport()函数, 就可以把这些视景体内投影的物体显示到屏幕指定的区域内. 默认情况下, 视口就是你用来绘制3D图像的整个矩形区域. Viewport的原型是:  Viewport(int x, int y, int width, int height) 我们来用示意…
本篇笔记要实现的是在屏幕上渲染出一个三角形,重点要学习的是渲染一个几何体的流程方式. 为了渲染几何图形,需要一个顶点缓存和一个描述顶点布局的输入层,还有着色器(主要是顶点着色器和像素着色器),下面来看看具体Demo的实现. 新建一个Win32项目 ,新建一个类我们叫做TriangleDemo,继承自前面教程我们实现的基类Dx11DemoBase. TriangleDemo.h头文件 #pragma once #include "Dx11DemoBase.h" class Triangl…
一.Servlet简介 Servlet是使用Java语言编写的服务器端程序,可以生产动态的Web界面. 主要运行在服务器端,Servlet可以方便的处理客户端传来的HTTP请求,并返回一个响应. 二.Servlet功能 -读取客户端发来的显示信息.(表单数据) -读取客户端发来的隐式信息.(请求头信息) -生成相应结果. -发送显示信息给客户端. -发送隐式信息给客户端.(状态码和响应头信息) 三.Tomcat 前面说到了Servlet运行在服务器端,这里主要采用Tomcat. Tomcat下载…
简单效果图 1,创建一个项目myblog 可参考这里 myblog/ manage.py myblog/ __init__.py settings.py urls.py wsgi.py 2,创建blogs app 可参考这里 myblog/myblog/blogs/ __init__.py models.py tests.py views.py 编写models.py #vim: set fileencoding=utf-8: from django.db import models # Cre…
前言 在很多第一人称或者第三人称射击游戏的单人模式中,玩家的乐趣往往来源于和各式各样的AI敌人的战斗.而战斗的爆发很多时候是因为这些AI在"看见"玩家后就会立即做出反应,比如开火.呼叫同伴.躲藏或者逃跑等. 所以这些AI到底是如何探测,或者说"看到"玩家位置的? 别人的例子 参考了知乎 给猫看的游戏AI实战(二)视觉感知初步 这篇文章. 这篇文章中,原作者让玩家站在敌人的角度来探测目标,它通过向正前方一定扇形区域发射一堆射线来探测目标的位置,如下图: 这种方法虽然实…