- 博客(24)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 着色器glsl
着色器使用glsl的类C语言写成的。着色器开头声明版本,接着是输入和输出变量,uniform和main函数。每个着色器入口点是main函数,在该函数中处理输入变量,将结果存放到输出变量中。着色器结构如下:#version version_numberin type in_variable_name;in type in_variable_name;out type out_va
2017-08-30 18:17:20 2364
原创 OpenGL绘制四边形以及索引缓冲对象
当绘制矩形时,需要绘制两个三角形组成一个矩形,因为OpenGL主要处理三角形。便会生成如下的顶点几何:float vertices[] = { // 第一个三角形 0.5f, 0.5f, 0.0f, // 右上角 0.5f, -0.5f, 0.0f, // 右下角 -0.5f, 0.5f, 0.0f, // 左上角 // 第二个三角形 0
2017-08-30 15:04:09 1817
原创 OpenGL编译环境
1.下载glfw源码,解压,CMake,使用vs2013编译得glfw3.lib库。如下所示:2.将编译好的glfw3.lib以及它的include目录,拷贝出来,单独创建一个3rd目录存放。以便之后IDE的链接:如:3.opengl32.lib在安装vs时,已经默认安装了。4.由于opengl驱动版本众多,大多数函数的位置需要在运行时查询,在编译时时无法确定的。因此,
2017-08-30 09:31:22 6661 2
原创 wcsncat
wchar_t* wcsncat (wchar_t* destination, const wchar_t* source, size_t num);头文件:作用:附加字符到宽字符串。附加source中从第一个到第num个为止的字符到destination后,最后添加一个null宽字符结尾。若source中C宽字符串长度小于num,则全部字符包括一个null结束符都会被拷贝
2017-08-29 14:04:34 942
原创 wcsrchr
const wchar_t* wcsrchr (const wchar_t* ws, wchar_t wc); wchar_t* wcsrchr ( wchar_t* ws, wchar_t wc);查询字符在宽字符串中最后的位置。结束符null被认为是字符串的一部分。因此,它也会被包括进来被查询。它与strrchr()对宽字符的处理相等。参数:w
2017-08-28 17:54:30 1288
原创 wcsstr
const wchar_t* wcsstr (const wchar_t* wcs1, const wchar_t* wcs2); wchar_t* wcsstr ( wchar_t* wcs1, const wchar_t* wcs2);查找宽字符串wcs1的子字符串wcs2。返回一个指针,该指针指向wcs1中的wcs2首次出现的位置,或则,如果wcs2不
2017-08-28 17:27:32 4308
原创 Revive
Revive是一个兼容中间层,它连接Oculus SDK与OpenVR。它允许HTC Vive机器上运行Oculus的游戏。若碰到问题,可参考维基,还可找到一份可正常运行的社区贡献编译的游戏列表清单,可自行添加。安装:在购买游戏前,请检查兼容列表是否一直:1.安装Oculus Home,并跳过首次安装2.下载最近的Revive安装包3.安装Revive4.启动Steam
2017-08-28 16:28:16 1046
原创 AdjustWindowRect
作用:基于传入的所期望的客户端矩形大小参数,计算所请求的窗口矩形大小。该窗口矩形随后可能会传入CreateWindow函数以创建一个窗口,该窗口区域大小即为所期望的大小。若要指定一个扩展窗口的风格,可使用函数AdjustWindowRectEx语法:BOOL WINAPI AdjustWindowRect( _Inout_ LPRECT lpRect, _In_
2017-08-28 11:05:58 1569
翻译 OpenVR之IVRSystem
简介:vr::IVRSystem接口可访问 显示配置信息,追踪数据,畸变函数,控制器状态(主要是按键信息),事件以及设备属性。它是OpenVR的主要接口,且它可以通过openvr::VR_Init函数来初始化与获取到。
2017-08-23 16:19:40 2646
原创 OpenGL绘制三角形
使用CMake编译该工程后,以playground目录下的playground.cpp作为模板进行编写验证。首先playground.cpp中添加代码如下:#include #include #include #include GLFWwindow* window;#include "shader.hpp"#include us
2017-08-23 15:46:50 497
原创 Link属性 -VS2013版
Link属性以下: Console true true true vrpn.lib;%(AdditionalDependencies) F:\temp\vrpn\buildout\Release;%(AdditionalLibraryDirectories) AdditionalDependen
2017-08-17 15:01:24 1557
原创 VCCLCompilerTool 属性 -VS2013版
VCCLCompilerTool类型有以下成员:以下vcxproj项目信息文件例子来分析: Level3 Use MaxSpeed true true WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) true F:\temp\
2017-08-17 13:39:55 856
原创 IDA 汇编命令分析以及函数调用过程
dll的文件,入口函数DllEntryPoint:.text:000000018000525C ; BOOL __stdcall DllEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved).text:000000018000525C public DllEntryPoint.te
2017-08-15 19:39:41 12735
原创 VS2013 编写汇编程序
步骤如下:1.打开VS2013,创建一个空项目2.创建空项目masm_example之后,打开以下:3.选择自定义项文件为masm4.打开配置属性项5.选择子系统为控制台6.微软宏汇编配置7.创建文件8.编写代码:.386 //指令
2017-08-15 18:33:56 7573 2
原创 OSVR头部追踪数据格式及VRPN数据处理流程
头部追踪器是以一个普通HID设备呈现的,并且不断的以高速率(一般为400次每秒,除了早期的硬件达不到这个速率之外)上报输入数据,但是在设备过渡时(比如在HDMI状态过渡时)会暂时性地挂起追踪器数据的上报。以下为它的协议(以字节为单位):第0个字节: 位0~3:上报版本号,当前为3 位4:只存在于版本3中,如果检测到视频数据则为“1”,否则为0 位5:只存在于版本3中,如果
2017-08-11 19:47:20 2232 3
翻译 WaitForSingleObject
来自MSDN作用:一直等待到所指定的对象生命周期终止或者超时时间到达。若要进入一个能够提出警告的等待状态,则使用WaitForSingleObjectEx函数。等待多个对象,使用WaitForMultipleObjects函数。语法:C++DWORD WINAPI WaitForSingleObject{_In_ HANDLE hHandle,_In_ DWORD
2017-08-10 20:54:45 3869
翻译 VRPN的使用
VRPN的三大类:tracker:主要是位置(postion)和方位(orientation)信息analog:主要是轴数据。游戏杆轴向数据,鼠标轴向数据button:二进制按钮,游戏杆按钮以及鼠标按钮比如,鼠标有一个2通道的模拟数据以及一个3通道的模拟数据。一个指挥棒,典型的VR设备,具有追踪器,模拟数据。http://www.vrgeeks.org/vrpn/t
2017-08-10 19:33:33 6124 3
翻译 strrchr
头文件:const char *strrchr(const char *str, int character);char *strrchr(char *str, int character);作用:返回一个指针,它指向字符character在字符串str中最后出现的位置。结尾处的null字符被认为是字符串的一部分。因此,指针也可返回字符串结尾的null字符。参数
2017-08-10 11:34:56 969
翻译 .vcxproj和.props的文件结构
在新的VS2010 C++工程文件中会发现有后缀为.vcxproj的文件,用notepad打开后可看到,有许多顶级MSBuild元素以一定的顺序布局。在Microsoft.Cpp.Default.props导入后,产生了大多数的组属性以及项目定义属性。还有,大多数的target在工程文件结尾处被导入。它们以Lable标志来区分。这些有序的布局到底有什么作用?为什么会有多种属性组而不是只有一个?
2017-08-08 19:29:33 7683
翻译 std::getenv
头文件:char *getenv(const char* env_var);作用:搜索与env_var字符串相匹配的主机环境(操作系统)提供的环境列表,返回该列表成员。(C++ 11之前) 该函数没有被要求线程安全。其他的对getenv的调用,还有POSIX函数setenv(),unset()以及putenv的调用,都有可能由于之前的调用或者由于前面调用而修改了字符串导致返回值
2017-08-08 11:28:09 7762
翻译 OSVR Reset Yaw
作用:该工具可用来对/me/head坐标系进行短期(在osvr server运行期间)校准,将头部的方向校正为正前方。它主要是为只有orientation数据的追踪器准备的;而带有完整pose信息的追踪器就不需要这个工具了,它们一般都会带有外部固定的已知位置的地标或者摄像头,而由于已知位置就能够建立一个不变的期望的坐标系。如何使用:在运行OSVR reset yaw之前,OSVR se
2017-08-04 20:04:03 388
翻译 IVRSystem::GetControllerState
bool GetControllerState( vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState )bool GetControllerStateWithPose( TrackingUniverseOrigin eOrigin, vr::TrackedDevic
2017-08-04 13:49:16 857
翻译 VRPN-OSVR介绍
全称:虚拟现实外设网络(Virtual Reality Peripheral Network)链接:获取并参与版本控制:https://github.com/vrpn/vrpn源代码:https://github.com/vrpn/vrpn/releases支持的设备:https://github.com/vrpn/vrpn/wiki/Available-hardware-devi
2017-08-02 21:08:06 2764
glfw-3.3.2.bin.WIN64.zip
2020-04-21
套件php 集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader
2020-03-12
客户端断开服务端就会产生异常并断开
2018-01-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人