- 博客(79)
- 资源 (1)
- 收藏
- 关注
转载 贴图、纹理、材质的区别是什么?
http://www.zhihu.com/question/257454723D中,这几个概念没有那么复杂。1、纹理即“纹路”,每个物体表面上不同的样子,譬如说木头的木纹状。2、贴图是图,最简单的形式是ps之类的软件做出来的一张图,这些图在3D中用来贴到物体的表面,用来表现物体的“纹理”。3、材质主要是用来表现物体对光的交互(反射、折射等)性质的
2016-09-30 22:14:04 6347
原创 要求:不申请变量和空间 反转字符串 ,用一个函数实现。 异或^交换或者加减交换的典型应用! VIA 笔试题
要求:不申请变量和空间 反转字符串 ,用一个函数实现。 异或^交换或者加减交换的典型应用! VIA 笔试题基本思路:从 两头往中间做字符交换 。字符串最后一个字符是 '/0' ,表示结束,没有实际意义,可以将它 当作中间变量 ,等处理完成后,再将最后一个字符置 '/0' 即可// 申请了 一个变量保存串的长度 ,一般面试这个程序就可以了,能写出这个其实已经很牛 b 了,整上
2016-09-30 21:59:57 382
原创 Draw Call是什么,怎么降低?
Draw Call 就是CPU调用图像编程接口。 以下内容借鉴于冯乐乐同学的如何减少Draw Call?对于批处理,提交大量很小的Draw Call会造成CPU的性能瓶颈,即CPU把时间都话费在准备Draw Call的工作上了。那么一个很显然的优化想法,就是把很多小的Draw Call 合并成一个大的Draw Call,这就是批处理(Batching)的思想。 在游戏中我们
2016-09-29 21:59:54 4247 3
转载 资源包常见问题 AssetBundles
资源包常见问题1. 什么是资源包 (AssetBundles)?2. 资源包 (AssetBundles)有何用途?3. 如何创建资源包 (AssetBundles)?4. 如何使用资源包 (AssetBundles)?5. 如何在编辑器中使用资源包 (AssetBundles)?6. 如何缓存资源包 (AssetBundles)?
2016-09-29 21:34:21 1354
转载 Unity中的Shader及其基本框架
http://www.cnblogs.com/QG-whz/p/4778304.html?utm_source=tuicool&utm_medium=referralshader和Material的基本关系Shader(着色器)实际上就是一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输出。绘图单元可以依据这个输出来将图像绘
2016-09-29 17:05:47 501
转载 Material和Shader是什么,两者有什么关系?
Shader是Material的一部分。程序上是叫着色器,是根据计算 即时演算 生成贴图的程序。常常用来处理那些无法用固定贴图表现的模型 ,比如玻璃,水面等等。实际上是一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输出。Materail是模型的材质。是顶端的了,包含贴图,shader,凹凸等消息。
2016-09-29 16:58:06 8896
转载 对3D渲染管线(渲染流水线)的理解
http://www.cnblogs.com/He-Jing/p/3760106.html、渲染管线的概念:3D渲染管线也称为渲染流水线,可以将其理解为一个流程,就是我们准备一些数据,让GPU对这些数据做一些处理,最后得出一张二维图像,渲染流程主要分为几个大的阶段:数据准备阶段,顶点处理阶段,光栅操作阶段,像素着色阶段。一、数据准备阶段该阶段主要是根据用户提供的顶点
2016-09-29 15:18:17 5047
原创 给出两个整数a和b,请计算他们的和a + b,比如输入1和2,计算出结果为3。
/* 给出两个整数a和b,请计算他们的和a + b,比如输入1和2,计算出结果为3。 输入示例: 1 2 3 4 5 6 7 8 输出示例: 3 7 11 15*/using System;using System.Collections.Generic;using System.Linq;usin
2016-09-29 12:10:34 9712
原创 读出第n个质数
/* 读出第n个质数*/#include#includeusing namespace std;int Fun(int n){ int count = 0; bool flag; if(n == 1) return 2; for(int i = 2; i < 10000; i++) { flag = true; for(int j = 2;
2016-09-29 12:09:52 730
原创 int *p[4]; int p[4]; int **p; int *(p[4]); int (*p)[4]这5种的区别与联系
int *p[4]; // p是个数组,有四个元素空间,每个元素int p[4]; int **p; int *(p[4]); int (*p)[4]这5种的区别与联系
2016-09-28 18:54:59 3623
转载 虚函数的作用及其底层实现机制
http://blog.csdn.net/iFuMI/article/details/510880911. C++中虚函数的作用和多态虚函数: 实现类的多态性关键字:虚函数;虚函数的作用;多态性;多态公有继承;动态联编C++中的虚函数的作用主要是实现了多态的机制。基类定义虚函数,子类可以重写该函数;在派生类中对基类定义的虚函数进行重写时,需要再派
2016-09-28 10:58:04 454
转载 c#面试1(填空题)
71、面向对象的三大特性(封装,继承,多态)72、能使用foreach遍历访问的对象需要实现(IEnumerable)接口或声明(GetEnumerator)方法类型73、数组的基类为(Array),委托的基类(MulticastDelegate)。74、用于获取值类型的大小的关键字(sizeof),用于在栈中分配内存空间的关键字(stackalloc)。75、用于表示不安全上
2016-09-28 10:54:23 1030
转载 完全二叉树与满二叉树 霍夫曼树
http://blog.csdn.net/yelbosh/article/details/8043476其实满二叉树是完全二叉树的特例,因为满二叉树已经满了,而完全并不代表满。所以形态你也应该想象出来了吧,满指的是出了叶子节点外每个节点都有两个孩子,而完全的含义则是最后一层没有满,并没有满。满二叉树(Full Binary Tree):除最后一层无任何子节点外,每一层上的所有结点都
2016-09-28 09:34:44 1075
原创 c#面试3(选择题)
46、下列关于 C# 中索引器理解正确的是 (c)A、索引器的参数必须是两个或两个以上B、索引器的参数类型必须是整数型C、索引器没有名字D、以上皆非47、以下关于 ref 和 out 的描述哪些项是正确的? ( 多选 ) ( ACD )A、使用 ref 参数,传递到 ref 参数的参数必须最先初始化。B、使用 out 参数,传递到 out 参数的参数必须最先初始化。
2016-09-27 21:13:35 3887
转载 C++输入日期判断是星期几
http://blog.csdn.net/hans_1990/article/details/26486613通过日期判断是星期几可以通过基姆拉尔森计算公式算出。 算法如下:基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7在公式中d表示日期中的日数,m表示月份数,y表示年数。注
2016-09-27 16:04:14 18403 1
转载 几种c/c++中字符串转整形的方法
http://blog.csdn.net/stormbjm/article/details/12137565.自己写一个函数(c/c++)#include #include /* my string to integer function */int myfun(char *str){ int i = 0,n = 0,flag = 1;
2016-09-27 16:02:21 888
转载 c++中怎样将字符数组转化成字符串变量...?
c++中怎样将字符数组转化成字符串变量...?解1:首地址复制string a;char stringarray[100];stringarray="changestring";a=stringarray;解2:元素按位赋值string a;char stringarray[100];stringarray="changestring";int i=0;
2016-09-27 15:59:53 3115
原创 求数组中的最大偶数(递归解法)
参考大神的算法int MaxEven(int arr[], int n){ int max; if(n == 0) { if(arr[0] % 2 == 0) return arr[0]; else return -1; } else { max = MaxEven(arr, n - 1); if( max < arr[n -
2016-09-27 12:35:13 5475
转载 Lua初识(6)_递归与迭代
递归:程序调用自身的编程技巧称为递归,是函数自己调用自己。一个函数在其定义中直接或间接调用自身的一种方法。它通常把一个大型的复杂的问题转化为一个与原问题相似的规模较小的问题来解决,可以极大的减少代码量。迭代: 让程序对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。迭代是某个变量的重复推算,而递归是自身对自身
2016-09-26 18:51:37 4270
原创 // 对于一个数组返回第二大数
// 对于一个数组返回第二大数int GetSecondMax(int arr[]){ int max = arr[0], secondMax = arr[0]; for(int i = 0; i < sizeof(arr); i++) { if(arr[i] > secondMax) { secondMax = arr[i]; if(secondMax > max
2016-09-26 16:51:26 406
转载 Unity3d面试6 DontDestroyOnLoad();PlayerPrefs;协同程序;游戏框架;Unity中播放视频;LOD技术
Unity问答第3期http://www.taidous.com/bbs/forum.php?mod=viewthread&tid=368881,如何避免点击UI按钮时穿透,同时触发了相同位置场景模型的点击事件的情况?(NGUI)1,如何避免点击UI按钮时穿透,同时触发了相同位置场景模型的点击事件的情况?(NGUI 判断 是否点击到UI)答:1,通过射线分层处理
2016-09-26 16:39:43 934
原创 Unity3d面试5 网龙网络
Unity3d面试4collider的性能和效率大概的顺序是:Sphere Collider > Capsule > Box Collider > Mesh Collider.
2016-09-26 10:39:46 1511 1
原创 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
#include#includeusing namespace std;char *Fun(char temp[]){ int len = strlen(temp); //cout<<len<<endl; for(int i = 0, j = len - 1; i <= j; i++, j--) { char temp1 = temp[j]; temp[j] = temp
2016-09-26 10:23:51 4922 2
原创 输入一个正整数n,求第n小的质数
#include#includeusing namespace std;//void main(){ //char str[100]; //int n; //char temp = getchar(); //while(temp) //{ // //} long n; cin>>n; bool flag = false; int count = 0; i
2016-09-26 09:34:02 17746 1
原创 求这棵树的高度
题目描述一棵树有n个节点,其中1号节点为根节点。输入格式第一行是整数n,表示节点数后面若干行,每行两个整数a b,表示b是a的子节点。输出求这棵树的高度(根节点为第1层)样例输入51 21 33 43 5样例输出3#includeusing namespace std;struct Node
2016-09-25 20:45:30 721
转载 指针和引用的区别
主要有两方面:1,非空区别。在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这个时候你应该把变量声明为指针,因为这样你可以赋空值给该变量。反之,如果变量肯定指向一个对象,例如你的设计不允许变量为空,这是你就可以把变量声明为引用。不存在指向空值的引用这个事实意味着使用引用的代码效率
2016-09-24 19:39:38 218
原创 不使用第三个结点实现单链表的逆转
struct Node{ int data; Node *next;};Node *Reverse(Node *head){ Node h = head, p = head->next, n = NULL; h->next = NULL; while(p->next != NULL) { n = p->next; p->next = h; h = p; p
2016-09-23 18:14:26 503
原创 前向渲染 延迟渲染
1.基础思路 目前我们看到最终画面都是2D的,只能看到有限的像素数,理论上我们只要处理(指光照,阴影处理)最终我们可以看到的点的效果就够了,多余的处理是浪费的。而正常的前向渲染(Forward Shading)流程是把空间的点进行各种剪裁后,进行处理,所处理量远远大于我们最终看到的。所以延迟渲染出现了。它先将摄像机空间的点光栅化转化成屏幕坐标后再进行处理。这样就能减少处理的次数,从而
2016-09-23 08:50:45 8301 1
转载 可编程管线(流水线),可编程着色语言
D3D程序设计的最终目的是把场景中的3D物体显示到计算机显示器屏幕上,为实现这个目的,要经历三个阶段:1.3D物体建模。 一个3D物体一般包括若干曲面,任意曲面都可以由若干三角形面片组成,一个三角形由三个顶点确定。3D物体模型是用顶点定义的物体,在3D物体建模阶段要定义3D物体的所有顶点位置和属性。这步对于固定功能流水线和可编程流水线是一致的。2.顶点处理。 把
2016-09-23 08:49:09 785 1
原创 斐波那契数列 递归算法和非递归算法
/* 斐波那契数列 递归算法和非递归算法 f(0) = 0; f(1) = 1; f(n) = f(n - 1) + f(n - 2);*/#include#includeusing namespace std;// 递归算法int Fun1(int n){ if(n == 0) return 0; else if(n == 1) return 1; el
2016-09-22 16:43:14 1252
转载 单链表的建立、测长和打印
/* 单链表的建立、测长和打印*/#include#includeusing namespace std;typedef struct student{ int data; struct student *next;}Node;// 创建Node *Creat(){ Node *head = (Node*)malloc(sizeof(Node)); int cy
2016-09-22 16:13:50 314
转载 字符串全排列
http://blog.163.com/yunfei_lei@126/blog/static/140864561201181694915129//* 设R={r1,r2,...,rn}是要进行排列的n个元素,Ri=R-{ri}. Perm(X)表示在全排列Perm(X)的每一个排列前加上前缀ri得到的排列。 (1)当n=1时,Perm(R)=(r),其中r是集合R中唯一的元素;
2016-09-22 15:07:36 286
原创 二进制 整数 和其负数
7 = 0000,0000,0000,0000,0000,0000,0000,0111-7 原码: 1000,0000,0000,0000,0000,0000,0000,0111反码: 1111,1111,1111,1111,1111,1111,1111,1000补码: 反码+1 = 1111,1111,1111,1111,1111,1111,1111,1001
2016-09-21 11:02:22 342
原创 一座楼有10层,兔子可以跳跃的层数可以为1,2或者3,那么兔子到达10层有多少种跳法并列出各种情况。
斐波那契数列/*一座楼有10层,兔子可以跳跃的层数可以为1,2或者3,那么兔子到达10层有多少种跳法并列出各种情况。*/#include#includeusing namespace std;int Fun(int n){if(n == 1)return 1;if(n == 2)return 2;if(n == 3)retur
2016-09-19 14:26:04 608
转载 后缀表达式的求值的算法
1 后缀表达式的求值将中缀表达式转换成等价的后缀表达式后,求值时,不需要再考虑运算符的优先级,只需从左到右扫描一遍后缀表达式即可。具体求值步骤为:从左到右扫描后缀表 达式,遇到运算符就把表达式中该运算符前面两个操作数取出并运算,然后把结果带回后缀表达式;继续扫描直到后缀表达式最后一个表达式。 例如,后缀表达式(abc*+def*/-) 的求值2 后缀表达式的求值的算法设置一个栈,开
2016-09-18 21:19:48 728
转载 二叉树的镜像
http://blog.csdn.net/yuzhongchun/article/details/39697729题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。二叉树结点的定义如下:[cpp] view plain copy print?struct BinaryTreeNode { int
2016-09-18 10:41:52 309
原创 Lua初识(5)_循环语句
for 变量 = 初始值, 终止值, 步长 do循环体endfor example:for i = 1, 3, 1 doprint(i)end输出:123for i = 3, 1, -1 doprint(i)end输出:321
2016-09-17 22:14:45 389 1
原创 Linux知识
在Linux系统中哪个文件定义了服务搜索顺序? /etc/nsswithc.conf在Linux中crontab文件由6个域组成,每个域之间用空格分隔,下列哪个排列方式是正确的?MIN HOUR DAY MONTH YEAR COMMAND
2016-09-17 18:42:38 447
转载 vector resize和reverse区别
reserve是容器预留空间,但并不真正创建元素对象,在创建对象之前,不能引用容器内的元素,因此当加入新的元素时,需要用push_back()/insert()函数。resize是改变容器的大小,并且创建对象,因此,调用这个函数之后,就可以引用容器内的对象了,因此当加入新的元素时,用operator[]操作符,或者用迭代器来引用元素对象。再者,两个函数的形式是有区别的,reserve函
2016-09-17 15:49:12 2147
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人