zoukankan      html  css  js  c++  java
  • 1.30cg

    cg的类型转换是强制类型转换,也可以是隐式转换,如果是隐式转换的话只可以从低精度转换到高精度,

    比如:

    float a = 1.0;

    half b = 2.0;

    float c = a+b;

    //float c = a + (float)b;

    flaot d = a +2.0;

    //编译时 2.0 做float类型;

    swizzle 操作符: 用于去除向量变量类型中的分量;

    swizzle操作符后的x y z w分别表示向量的第一个 第二个 第三个 第四个元素;

    所有流程控制语句的返回值都必须是bool型,不可以是0或者1;

    vs_2_x,vp30,vp40中profile支持for和while;

    禁止是用递归,保留case switch关键字;

    uniform类似const;

    uniform修饰表示该值通过外部程序传入,并且不随着图元信息的改变而发生变化。

    in修饰一个形参用于输入,进入函数体时候被初始化,且形参不会改变实参;

    out修饰一个形参只是用于输出,进入函数体的时候没有被初始化,

    inout修饰一个形参即用于输入,也用于输出,这是典型的引用传值。

    参数没有修饰的时候默认使用in;

    通常我们在程序中涉及到的顶点,法线等都是三元向量,为什么要用四元呢?

    x,y,z,0 代表是一个空间向量  x,y,z,1 则代表是一个空间点

    而且可以将平移 缩放 旋转等运算统一到四阶矩阵的乘法中。

    因为cg语言中不存在指针机制,所以,数组作为函数的形参,传递的是数组的完整拷贝。

    而且数组可以是一维的,也可以是多维的,而且不必声明数组的长度。

  • 相关阅读:
    js之iframe子页面与父页面通信
    js的event对象
    整洁代码的4个条件
    PYTHON 自然语言处理
    如何检测浏览器是否支持CSS3
    BootStrap前端框架使用方法详解
    如何使用repr调试python程序
    Python编程快速上手——Excel到CSV的转换程序案例分析
    C++和JAVA传统中积极的一面
    20个LINUX相关的网站
  • 原文地址:https://www.cnblogs.com/RenderLife/p/2883497.html
Copyright © 2011-2022 走看看