随笔分类 - GL/Shader/OpenCL&MP/
关注OpenGL\WebGL\OpenCL\OpenMP
可编程管线
摘要:自己根据C++ D3D的源码改写一个相机类(第一人称)。 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using Microsoft.DirectX; 6 using Microsoft.DirectX.PrivateImplementationDetails; 7 using Microsoft.DirectX.Direct3D; 8 9 namespace AppScene 10 { 11 public enum C...
阅读全文
摘要:fx文件: 1 float4x4 matWorld; 2 float Time=1.0f; 3 4 struct VS_OUTPUT 5 { 6 float4 Pos :POSITION; 7 float4 Color :COLOR; 8 }; 9 10 VS_OUTPUT VS(float4 Pos:POSITION,float4 Color:COLOR)11 {12 VS_OUTPUT Out=(VS_OUTPUT)0;13 float4 pos1=Pos;14 pos1.y+= cos( Time*2.0f)+5;15 Out.Pos=m...
阅读全文
摘要:1. RenderMonkey2. NVIDIA FX Composer 2.5
阅读全文
摘要:D3D程序设计的最终目的是把场景中的3D物体显示到计算机显示器屏幕上,为实现这个目的,要经历三个阶段:1.3D物体建模。 一个3D物体一般包括若干曲面,任意曲面都可以由若干三角形面片组成,一个三角形由三个顶点确定。3D物体模型是用顶点定义的物体,在3D物体建模阶段要定义3D物体的所有顶点位置和属性。这步对于固定功能流水线和可编程流水线是一致的。2.顶点处理。 把世界坐标系中的3D模型的所有顶点经过世界变换、观察变换、投影变换转换为计算机显示器窗口坐标上的顶点。这些顶点除具有位置信息以外,根据设定的光源和材质,顶点还有颜色属性。在固定功能流水线中,在顶点处理前,程序首先设定设备的世界变换...
阅读全文
摘要:用VS2010建了一个默认的C++应用程序,编译后出现如下错误。1>------ 已启动生成: 项目: Test, 配置: Debug Win32 ------1> stdafx.cpp1>c:/program files/microsoft sdks/windows/v7.0a/include/objidl.h(11280): error C2061: 语法错误: 标识符“__RPC__out_xcount_part”1>c:/program files/microsoft sdks/windows/v7.0a/include/objidl.h(11281): err
阅读全文
摘要:如何实现三维场景的组织?对比AE的三维控件和WW的WorldWindow。前文已述及:http://www.cnblogs.com/yhlx125/archive/2013/03/28/2986827.htmlWorldWindow有几个重要的属性: private DrawArgs drawArgs; private World m_World;public class World : RenderableObject,这个需要研究一下。对比发现三者很类似:首先3个控件都有一个相机类对象,WW是CameraBase; 都有一个集合类SceneControl是Scene(Ilayer集合),G
阅读全文
摘要:两大图形库OpenGL和DirectX对应的.NET实现最流行版本分别为Tao FrameWork和SlimDX,都是开源社区做的,是用.NET技术对原有的c++库进行的封装。补充:还有OpenTK(gl),SharpDX(d3d)
阅读全文
摘要:1.项目描述 实现太阳系的模拟,包括天体的公转和自转。2. 实现思路 3. 功能实现 打开VS2010,新建C++ Win32控制台空项目;新建Plant.cpp文件;添加文件夹Data,将位图文件拷贝到文件夹中并添加到Data中。 工程属性->配置(设为‘所有配置’)->配置属性->C/C++->预处理器定义(设为GLUT_BUILDING_LIB) 链接器->输入->附加依赖项中添加glu32.lib;glut32.lib;glut.lib;GLaux.lib;opengl32.lib 添加Plant.cpp代码: 1 #include <wind
阅读全文
摘要:1. 安装OpenGL类库,Windows平台VS2010环境下安装GLUT的步骤: 把glut.h加入C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include中 把glut.lib和glut32.lib放到静态函数库所在文件夹C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib 把glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32)2.建立一个OpenGL工程 打开VS2010...
阅读全文
摘要:写OpenGL代码时从前到后的顺序依次是:设定viewport(视口变换),设定投影变换,设定视图变换,设定模型变换,在本地坐标空间描绘物体。而在前面为了便于理解做介绍时,说的顺序是OpenGL中物体最初是在本地坐标空间中,然后转换到世界坐标空间,再到 camera 视图空间,再到投影空间,再到屏幕坐标系。由于模型变换包括了本地空间变换到世界坐标空间,所以我们理解3D变换是一个顺序,而真正写代码时则是以相反的顺序进行的,如果从左乘矩阵这点上去理解就很容易明白为什么会是反序的。D3D是左手坐标系,Opengl是右手坐标系。
阅读全文
摘要:1.3D图形引擎 1.1 Ogre: OGRE是一个三维(3D)图形渲染引擎。它是面向对象的,并且高效,抽象化了不同的API和平台,这样可以以场景为对象来使用物体,支持多种场景.它已经成功地被应用于诸多三维仿真领域,包括网络游戏和三维仿真项目。 http://baike.baidu.com/view/104836.htm http://blog.csdn.net/honghaier/article/category/479263/2 Ogitor Scenebuilder 1.2OSG OpenSceneGraph(简称OSG)使用OpenGL技术开发,是一套基于C++平台的应...
阅读全文
摘要:《交互式计算机图形学》书中附带的示例程序:polygon.cView Code /* polygon modeler */#define MAX_POLYGONS 8#define MAX_VERTICES 10typedef int bool;#define TRUE 1#define FALSE 0#include <stdlib.h>#include <stdio.h>//#include <GL/glut.h>#ifdef __APPLE__#include <GLUT/glut.h>#else#include <GL/glut.h
阅读全文
摘要:2011-07月份写的文章,OpenGL很久不弄了,把它转到博客园,以后如果要用再学习吧!源码下载:http://download.csdn.net/source/34186611.搭载gl环境并设置项目属性2.在stdafx.h中添加引用// 包含有关OpenGL函数的头文件#include <gl/gl.h>#include <gl/glu.h>#include <gl/glaux.h>#include <gl/glut.h>3.添加变量// OpenGL绘制描述表HGLRC m_hRC;// OpenGL调色板HPALETTE m_hPal
阅读全文
摘要:2011-07月份写的文章,很久不弄了,把它转到博客园吧!采用VS2008编译器进行OpenGL开发可能有了一些不同。因此一直都有一些意想不到的问题。学习的时候因此进展缓慢!首先是VS2008中的OpenGL环境配置: GLUT.H,GLAUX.H加入 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl中 GLUT32.LIB,GLAUX.LIB加入 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib中这里是偶然间看到的,因为添加#include <GL/gl.h> #in
阅读全文