C C++最新十、RGBA数据转NV21格式存储,2024年最新2024互联网大厂C C++面经合集

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

    float y1 = dot(color1.rgb, COEF_Y);
    float y2 = dot(color2.rgb, COEF_Y);
    float y3 = dot(color3.rgb, COEF_Y);
    outColor = vec4(y0, y1, y2, y3);
}
else{
    //不清楚为什么减UV_DIVIDE_LINE再乘以3
    vec2 texCoord = vec2(v_texCoord.x, (v_texCoord.y - UV_DIVIDE_LINE) * 3.0);
    vec4 color0 = texture(s_TextureMap, texCoord);
    vec4 color1 = texture(s_TextureMap, texCoord + texelOffset);
    vec4 color2 = texture(s_TextureMap, texCoord + texelOffset * 2.0);
    vec4 color3 = texture(s_TextureMap, texCoord + texelOffset * 3.0);
    float v0 = dot(color0.rgb, COEF_V) + 0.5;
    float u0 = dot(color1.rgb, COEF_U) + 0.5;
    float v1 = dot(color2.rgb, COEF_V) + 0.5;
    float u1 = dot(color3.rgb, COEF_U) + 0.5;
    outColor = vec4(v0, u0, v1, u1);
}

}


RGB2NV21.cpp



//
// Created by CreatWall_zhouwen on 2023/4/28.
//

#include <stdio.h>
#include “RGB2NV21.h”
#include “Util.h”
#include “GLUtil.h”
#include <malloc.h>
#include <string.h>
#include <unistd.h>
#include “sys/stat.h”
#include “stdint.h”
RGB2NV21* m_pContext = nullptr;
#define TAG “RGB2NV21”
//顶点坐标
GLfloat vVertices[] = {
-1.0f, -1.0f, 0.0f,
1.0f, -1.0f, 0.0f,
-1.0f, 1.0f, 0.0f,
1.0f, 1.0f, 0.0f,
};
//纹理坐标

GLfloat vFboTexCoors[] = {
0.0f, 0.0f,
1.0f, 0.0f,
0.0f, 1.0f,
1.0f, 1.0f,
};
GLushort indices[] = { 0, 1, 2, 1, 3, 2 };//三角形的索引数组

/*
*
-1.0f, -1.0f, 0.0f,
1.0f, -1.0f, 0.0f,
-1.0f, 1.0f, 0.0f,
1.0f, 1.0f, 0.0f,
//纹理坐标
GLfloat vFboTexCoors[] = {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值