中国,顶住!!

在美国主导的加息和减税的政策下,美元强势回流,全球汇率大幅度波动,很多新兴国家混乱不堪,陷入经济危机,金融危机中,国家经济陷入倒退。
中国也没能幸免,今年股,汇,商品,三杀,经济数据糟糕。

《Unity3D高级编程之进阶主程》第七章,Shader(七) - Fixed Function

Fixed-function 是Unity3D官方自己编写的一套API,它与Surface shaders,及vertex and fragment program是区分开来的。Fixed-function,Suface program 和 vertex and fragment programs 三种编写Shader的方法不能同时使用,任何一种方式被编写后,其他两种都将无效。

白领投资探讨(四)

白领投资探讨(四)

流动性探讨

《Unity3D高级编程之进阶主程》第七章,Shader(六) - Pass(三)Blend

Blend,设置颜色混合的方式。

Blend 主要作用是颜色混合,颜色混合是在所有渲染完成图像都成型后进行的,这时像素都已经被绘制好了,并且屏幕上也已经有成像的图形,但还没有完全完成,因为是物体各自画各自的已经画完了放入了缓存中,但alpha还没有发挥出效果,这时就需要混合来做补充,这之前的屏幕上所有的图像都是实体的,没有半透明和透明部分。总之Blend最重要的作用就是让alpha起到半透明的作用,当然也可以做到颜色加强,改变,混合,削弱等作用。

《Unity3D高级编程之进阶主程》第七章,Shader(五) - Pass(二)

Render State Command渲染状态指令详解

Render State Command 是渲染状态的指令,它在Pass和SubShader都有效,放在Pass就只在当前Pass里有效,放在SubShader中则是多个Pass的共同状态。

不过不是所有的Render State都可以成为共同拥有的渲染状态的,有些Render State只在Pass中有效,而另一些则可以成为共同渲染状态。

《Unity3D高级编程之进阶主程》第七章,Shader(四) - Pass(一)

Pass

《Unity3D高级编程之进阶主程》第七章,Shader(三) - 渲染管道

SubShader模块

SubShader相当于子Shader的意思,SubShader在Shader中可以有很多个,每个SubShader都可以针对一种设备,但不是所有SubShader都会被采用。当Unity去展示一个模型时,会从第一个SubShader开始寻找是否匹配当前的设备,如果不匹配则与下一个SubShader继续匹配,直到找到能够匹配该设备为止。如果所有的SubShader都没有匹配上,则会使用 Fallback 标签的Shader。

《Unity3D高级编程之进阶主程》第六章,网络层(三) - 实现UDP

实现UDP

在前面介绍了如何实现TCP socket,下面要介绍下UDP的实现方式。

其实两者都是长链接的方式,很多地方都有相识之处,比如两者都需要连接和断开事件支撑,都需要做发送和接收队列缓存,都需要定义数据包协议格式,都需要加密和校验。

我们来说说TCP有而UDP没有的部分,以及需要我们在UDP上实现的功能。UDP和TCP相比,UDP基本就是TCP的阉割版本,很多TCP有的功能UDP都没有。相同的地方有,都是异步发送和接收,都需要多线程操作,发送和接收都需要缓冲队列,并且发送数据时都需要合并数据包。TCP有而UDP没有的地方有,UDP不会自己校验重发,丢包概率大,数据包接收顺序不确定,而且UDP本身没有连接断开检测机制,也没有连接确认机制。

所以直接使用UDP来做网络连接,会遇到巨大的问题,可以说直接使用而不加修饰,不确定性太大基本用不了UDP。

《Unity3D高级编程之进阶主程》第六章,网络层(二) - 实现TCP

实现TCP长连接。

我们先从整体出发,列一下Unity3D实现TCP连接需要的实现哪些方面:

    1, 建立连接

    2, 断线检测

    3, 网络协议

    4, 发送和接收队列缓冲

    5, 发送数据合并

    6, 线程死锁策略

《Unity3D高级编程之进阶主程》第七章,Shader(二) - Property

编写Shader的几种方式

着色器部分的编写是客户端的精髓,如果说架构表现了逻辑整合能力,算法展现了数学能力,那么着色器编写展现了表现能力,在游戏项目中三者缺一不可,特别是作为主程或者说资深的U3D人员来说是极其重要的。