CG-多纹理输入

本文介绍如何在CG语言环境中实现多纹理输入的过程。通过使用OpenGL函数如glGenTextures、glBindTexture等来生成和绑定纹理,同时利用Cg语言设置纹理参数。此教程详细展示了循环初始化纹理及设置相关参数的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    如何在CG语言中进行多纹理输入

glGenTextures (2*range+1, Texture_Id);

    ////////////////////////////////////////////////////////////////////////////////////////////////////
    for(int i=0; i<2*range+1; i++)
    {
        glBindTexture (target, Texture_Id[i]);
        glTexParameteri (target, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
        glTexParameteri (target, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
        glTexParameteri (target, GL_TEXTURE_WRAP_S,        GL_CLAMP_TO_EDGE);
        glTexParameteri (target, GL_TEXTURE_WRAP_T,        GL_CLAMP_TO_EDGE);
        glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
        glTexImage2D (target, 0, GL_FLOAT_RGBA16_NV, FileSize.x, FileSize.y, 0, 
            GL_RGBA, GL_HALF_FLOAT_NV, InRgba[Repro[curframe-start][i]-start]);
    }

    for(int i=0; i<2*range+1; i++)
    {
        char str[100];
        sprintf(str,"tex%d",i);
        CgFragmentParam_tex[i] = cgGetNamedParameter(CgFragmentProgram, str);
        checkForCgError("getting image parameter");

        cgGLSetTextureParameter(CgFragmentParam_tex[i], Texture_Id[i]);
        checkForCgError("setting texture 2D texture");
    }

    for(int i=0; i<2*range+1; i++)
    {
        cgGLEnableTextureParameter(CgFragmentParam_tex[i]);
        checkForCgError("enable texture texture");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值