自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

远方

路漫漫其修远兮,吾将上下而求索

  • 博客(67)
  • 资源 (3)
  • 收藏
  • 关注

原创 OSG PagedLOD

对于PagedLOD解释及一般,这篇博客很详细https://blog.csdn.net/qq_16123279/article/details/82665053这里只说一般需要设置的几个接口/变量等1. 预编译 在DatabasePager中,有一个变量_doPreCompile判断编译是否在子线程中去做,默认true,当不需要在子线程做,在渲染线程中进行时,我们可以将此变...

2019-08-21 14:48:03 2608

原创 windows查询服务状态C++

前面blog说过windows(7及以后)中,服务和进程位于不同的session,如何查询服务状态,这里贴出代码 TCHAR szSvcName[] = TEXT("SSIT_Client_Service"); SC_HANDLE schSCManager; SC_HANDLE schService; SERVICE_STATUS_PROCESS ssStatus; DWORD d...

2019-08-02 14:07:25 1241

原创 C++ windows 服务Session0穿透

做个服务拉起应用进程的需求,发现进程后台起了,但是没有界面先看这两篇:穿透Session 0 隔离(一)穿透Session 0 隔离(二)说的很清楚,这里不做解释我们这里用C++代码实现HANDLE GetProcessHandle(int ID){ return OpenProcess(PROCESS_ALL_ACCESS, FALSE, ID);}BOOL ...

2019-08-01 09:23:28 2498

原创 序列帧Shader

在opengl中,当我们需要某种动画时,序列帧动画无疑是最简单的这段shader虽然简单,但还是分享出来vertuniform int offset; uniform int wcount;uniform int hcount;uniform int allcount;void main(){ gl_Position = ftransform(); int index ...

2019-07-26 10:56:32 892

原创 C++11 chrono时间间隔

C++11之前,往往可以通过clock()来计算时间间隔,但是它的精度ms,一般可以满足,但是C++11提供了更高精度的这里写个简单的类来实现#pragma once#include <chrono>class ElapsedTimer{public: ElapsedTimer() : m_begin(std::chrono::high_resolution_c...

2019-07-26 10:32:42 3253

原创 程序员专属字体~FiraCode

需要下载请点击 :下载地址特别推荐这种字体FiraCode,故贴出实例代码这是运算符等符号而且代码整体看起来也比较“顺眼”

2019-07-12 15:42:15 1241

转载 VS2013密钥

Visual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9Visual Studio Premium 2013 KEY(密钥):FBJVC-3CMTX-D8DVP-RTQCT-92494Visual Studio Professional 2013 KEY(密钥):XDM3T-W3T3V-MGJWK-8BFVD-G...

2019-07-11 12:25:26 32634 3

原创 C++实现JAVA中的synchronized

java中的同步类似这样:synchronized(x){ ...}这个只是代码块,这里也只讨论代码块。稍微思考,也只是采取了一种思想,即自解锁这种那么先上代码#include <mutex>struct lugard_sync{ explicit lugard_sync(std::mutex &_mutex) : m_mutex(...

2019-07-10 11:00:17 1411 2

转载 Visual Studio各个版本对C++11支持进度

https://blog.csdn.net/qing666888/article/details/78260923介绍很详细再有官方文档,贴个中文的https://zh.cppreference.com/w/cpp/compiler_support#cpp11

2019-07-08 11:37:05 15576

原创 C++ 虚继承

C++中有虚继承和虚函数,这两者也并没有什么关系。虚继承主要解决的问题即多继承产生的二义性。基类只存在一份实例。即菱形继承,参考下图举个例子:基类为动物类,分别派生了陆地动物和水中动物,两栖动物又继承自他们两如果普通继承,两栖动物会对基类中的信息产生二义性,故有了虚继承例如:class Base{ public: int m_dat...

2019-07-05 10:08:32 151

转载 蘑菇云特效-方案

分享一个蘑菇云实现方案,大概都有介绍粒子、模型(uv动画、序列帧动画)https://www.magesbox.com/article/detail/id/43.html

2019-07-04 18:30:59 1222

原创 C++实现Golang的defer

在golang中有个关键字defer,作用其实就是C++中的析构作用,作为释放资源,但是为什么还要实现它呢?主要就是为了“擦屁股”,避免程序员忘记后续操作。C++类似思想的包括智能指针,自解锁等先贴代码,再说用法class Defer final{public: explicit Defer(std::function<void()> fun) : m_funC...

2019-07-02 17:33:24 384

原创 C++实现智能指针

C++11增加了智能指针:shared_ptr、unique_ptr、weak_ptr为了加深理解,自己实现智能指针我们都知道shared_ptr的核心思想通过引用计数来管理内存先实现单个指针的自我管理,看下面template <class T>class Ref{public: Ref() : m_ptr(NULL) { } ...

2019-07-02 12:11:15 209

转载 C++类的默认函数

转自:https://www.cnblogs.com/yuwanxian/p/10924835.html在C++中,一个类有八个默认函数:默认构造函数; 默认拷贝构造函数; 默认析构函数; 默认重载赋值运算符函数; 默认重载取址运算符函数; 默认重载取址运算符const函数; 默认移动构造函数(C++11); 默认重载移动赋值操作符函数(C++11)。  只是声明...

2019-07-02 09:06:11 303

原创 体重指数

分享一个有趣的计算用户体重指数的C++程序,码农在工作中也注意自己的身体用户输入代码char r;do { float TB, IMT; int BB; printf("Body Mass Index (BMI) Calculator\n"); printf("================================\n\n"); printf("BW : Wei...

2019-07-01 12:12:06 401

原创 单例模式

上文提到了定时器https://blog.csdn.net/allen807733144/article/details/94015407这个类如果当作单例,那么要加的代码又太多了,故看到用宏来代替一大段代码先上单例代码:#ifndef _SINGLETON_H#define _SINGLETON_H#include <iostream>template<...

2019-06-28 17:52:40 171

原创 C++11实现Boost Any

#pragma once#include <memory>#include <typeindex>#include <stdexcept>#include <iostream>struct Any{ Any(void) : m_tpIndex(std::type_index(typeid(void))) {} Any(const ...

2019-06-28 16:50:25 664

原创 定时器

上文已经实现的定时器,但是在需要在主线程中可能无法满足需求https://blog.csdn.net/allen807733144/article/details/94014639于是我们有了下面代码:class Timer { public: void run() { auto it = m_vecTimer.begin(); for (; it != m_ve...

2019-06-28 16:30:00 108

原创 异步定时器

需要一个定时器,想需要的功能有异步或者同线程阻塞式,直接上代码#pragma once#include<functional>#include<chrono>#include<thread>#include<atomic>#include<memory>#include<mutex>#include&lt...

2019-06-28 16:25:30 1275

转载 TCP和UDP的区别(Socket)

https://www.cnblogs.com/LUO77/p/5801977.html

2019-03-29 10:45:04 469

转载 Traits编程 C++

https://www.cnblogs.com/mangoyuan/p/6446046.html

2019-03-21 11:45:45 93

转载 C++ 手写链表

很不错https://www.cnblogs.com/winslam/p/10089004.html

2019-03-12 16:14:27 1291

原创 error C2001: newline in constant

这个错误开发中难免会遇到一是可能由于疏忽可能括号、引号等不匹配造成二也是我遇到一个,由于编码方式引起,解决:由于包含汉字,将其文本编码改为utf8 点滴总结为了以后方便...

2018-12-25 10:21:30 1815 2

原创 自动注册的工厂类

一般的工厂类可能涉及到一大堆的switch case,那只能说太low了,其实很多地方都可搜到自动注册的工厂类,但是为了记录一下,再者加深一下印象。class Base{public: Base(){} virtual ~Base(){}};struct factory{ template&lt;typename T&gt; const int Gen...

2018-12-13 14:53:54 752

原创 每周一算法(4):三色棋

终于来了排序的算法了,但是和普通的排序还有点差异说明:假设一条绳上有红、白、蓝三种颜色的棋子,按照蓝白红排列,需要移动次数最少,只能在绳子上进行,并且一次只能移动两个。其实要实现功能很多做法,但是要次数最少,额,那就需要移动有些技巧:我们需要三个变量例如WFlag,BFlag,RFlag如果当前位置到了白色,则当前位置W+1如果到了蓝色,W和B交换位置后,W和B都加1如果遇...

2018-11-30 16:57:20 583

原创 每周一算法(3):巴斯卡三角形

写了前面两个发现可能很弱智,这些简单的算法还要写一大堆所以简单的算法我们只贴代码,和简单的描述,不做详细说明看上图就知道什么意思了。#include &lt;stdio.h&gt;#define N 12 //打印多少行long combi(int n, int r) //对于数字的算法{ int i; long p = 1; for(i = 1;...

2018-11-25 15:00:11 781

原创 每周一算法(2):费式数列

即斐波那契数列,小学可能就知道它的规律了,即该数是前两个之和。例如:1、1、2、3、5、8、13、21、34、55、89……按照它的规律:即:Fn = Fn -1 + Fn-2     n&gt;1        Fn = n                         n=0/1如何做,应该刚接触for循环的新新手都能写出来,故不做具体描述,算法如下:#includ...

2018-11-25 14:49:53 294

原创 每周一算法(1):汉诺塔

首先汉诺塔是使用递归一个非常经典的例子,历史故事说了也没用,我们想象原理。前提,三根柱子ABC,将A上的盘子数按顺序挪到C,每次只能一个1. 一个盘子,A-&gt;C2. 两个盘子  A-&gt;B, A-&gt;C, B-&gt;C3. 大于两个盘子,那我们先理解为上面一个盘子,下面n-1个盘子属于一个整体。先移动第一个的A-&gt;C,那么我们在n-1(可以当成1个)需...

2018-11-22 18:06:02 174

原创 kanzi&opengl杂谈

最近有幸总结了一下kanzi中opengl的东西,实际比较重点的也就是shader部分,对于其他部分,这里也会简单的说,但是具体的功能作用就要自己下来慢慢研究了一:引言本文章主要介绍kanzi和opengl之间的一些问题,可能会比较杂,因为很多东西也无法预测他们具体是如何结合,故我们会以kanzi为主,在kanzi的基础上介绍opengl的一些东西。通过kanzi help doc中的...

2018-11-08 18:05:26 3731

转载 ShaderLab教程系列(二)

文章来自http://www.manew.com/thread-43291-1-1.html 上一篇最后引出了shader存在的意义是为了让二维屏幕绘制出栩栩如生的三维场景。此处进一步补充说明该观点。      首先,我们先来思考我们现实中是如何让外部景物在我们的脑子中成像的。作为软件开发的我们,务必永远记住一点,这个世界是最合理最严谨的存在,如果你遇到你的业务逻辑无法理清,那么,就去看看现...

2018-11-08 17:29:36 1537

转载 ShaderLab教程系列(一)

文章来自http://www.manew.com/thread-43291-1-1.html 首先,第一步,我们先看shader有什么作用。我们在场景里面新建一个cube。我们可以看到下图:        在Hierarchy中选中这个新建的cube,我们可以在Inspector面板中看到        我们来做一个小动作,通过photoshop创建一张很傻冒的图,如下:...

2018-11-08 17:26:05 5609

原创 获取系统CPU个数

小积累 windows#include &lt;windows.h&gt;    SYSTEM_INFO sysInfo;    GetSystemInfo(&amp;sysInfo);   int num_cpu = sysInfo.dwNumberOfProcessors;  linux#include &lt;unistd.h&gt;int num_c...

2018-11-07 15:30:05 578

转载 计算FPS的六种方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012494876/article/details/53368164帧率(FPS)计算是游戏编程中常见的一个话题。大体来说,总共有如下六种方法:一、固定时间帧数法帧率计算的公式为:fps = frameNum / elapsedTime;1如果记录固定时间内的帧数,就可以...

2018-09-27 09:41:49 12144 2

原创 gtest简介

下文是从primer谷歌翻译过来,所以不要纠结细节,能理解就好简介:googletest好处?googletest可以帮助您编写更好的C ++测试。googletest是测试技术团队开发的测试框架,其中考虑了谷歌的特定要求和约束。无论您是在Linux,Windows还是苹果机上工作,如果您编写C ++代码,googletest都可以为您提供帮助。它支持任何类型的测试,而不仅仅是单元测试...

2018-09-25 16:23:36 1350

翻译 LearnOpenGL~你好,三角形

你好,三角形原文 Hello Triangle 作者 JoeyDeVries 翻译 Django, Krasjet, Geequlim 校对 暂未校对 译注在学习此节之前,建议将这三个单词先记下来:顶点数组对象:Vertex Array Object,VAO 顶点缓冲对象:Vertex Buffer Object,VBO 索引缓冲对象:Ele...

2018-09-06 14:26:24 382

翻译 LearnOpenGL~你好,窗口

你好,窗口原文 Hello Window 作者 JoeyDeVries 翻译 Geequlim, Krasjet 校对 暂未校对 让我们试试能不能让GLFW正常工作。首先,新建一个.cpp文件,然后把下面的代码粘贴到该文件的最前面。#include &lt;glad/glad.h&gt;#include &lt;GLFW/glfw3.h&gt;...

2018-09-06 14:25:35 383

翻译 LearnOpenGL~创建窗口

创建窗口原文 Creating a window 作者 JoeyDeVries 翻译 gjy_1992, Krasjet 校对 暂未校对 译注注意,由于作者对教程做出了更新,之前本节使用的是GLEW库,但现在改为了使用GLAD库,关于GLEW配置的部分现在已经被修改,但我仍决定将这部分教程保留起来,放到一个历史存档中,如果有需要的话可以到这里来查看。...

2018-09-06 14:23:13 479

翻译 LearnOpenGL~OpenGL

OpenGL原文 OpenGL 作者 JoeyDeVries 翻译 gjy_1992, Krasjet 校对 暂未校对 在开始这段旅程之前我们先了解一下OpenGL到底是什么。一般它被认为是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不...

2018-09-06 14:20:05 1786

翻译 LearnOpenGL~简介

简介你到这里来可能是想学习计算机图形的工作原理,并且自己做一些很酷的东西。自己做东西是非常有趣的,同样也能给你带来对图形编程的兴趣。然而,在你开始学习旅程之前,有这么几点注意事项。前置知识由于OpenGL是一个图形API,并不是一个独立的平台,它需要一个编程语言来工作,在这里我们使用的是C++。所以,对C++的熟练掌握在学习这个教程中是必不可少的。当然,我仍将尝试解释大部分用到的概念,...

2018-09-06 14:16:02 436

翻译 LearnOpenGL~欢迎来到OpenGL的世界

欢迎来到OpenGL的世界欢迎来到OpenGL的世界。这个工程只是我(Joey de Vries)的一次小小的尝试,希望能够建立起一个完善的OpenGL教学平台。无论你学习OpenGL是为了学业,找工作,或仅仅是因为兴趣,这个网站都将能够教会你现代(Core-profile) OpenGL从基础,中级,到高级的知识。LearnOpenGL的目标是使用易于理解的形式,使用清晰的例子,展现现代Op...

2018-09-06 14:13:25 581

SourceInsight utf8插件

Source Insight 3.X 插件。解压后置于Source Insight目录可显示中文

2017-07-04

资源管理器 clover

支持资源管理器多窗口显示

2017-07-04

staruml 工具

很好用的UML等工具

2017-06-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除