shensunbo Blog

「离开世界之前 一切都是过程」

gtest basic

Matcher 使用 Contains 判断是否包含某个或者满足某种条件的元素 判断 EXPECT_THAT 验证某个值(或对象)是否满足指定的匹配器(Matcher)条件: EXPECT_THAT(actual, matcher)

git 常用操作

stash delete range of stash for i in {24..4}; do git stash drop stash@{$i}; done 临时切换到一个提交节点验证 1 2 3 4 5 git checkout 9f2e90c28f4581270708d112a15ba8795e7ad23c ... git swit...

gerrit

clone git clone –depth 1 –branch master … push normal push git push origin HEAD:refs/for/master push to previous patchset git commit –amend git push origin...

opencv build

build linux version build_ti_linux.sh 1 2 3 4 5 6 7 8 9 10 11 #!/bin/bash source /opt/ospas120-2023.10/environment-setup-aarch64-oe-linux rm -rf build_ti_linux mkdir build_ti_linux cd build_ti_li...

renderer 常见问题

纹理 注意在着色器中区分纹理是单通道还是多通道, 对于ao,specular,Metallic, Roughness 这些贴图,一般是单通道的,如果把单通道纹理当做多通道纹理使用,显示出来的结果会偏红色 把天空盒贴图作为环境光使用时,求反射reflect(-viewDir, a_normal)时注意view的方向是从摄像机指向物体表面的 注意立方图纹理和2D纹理不要绑定同一个纹...

opengl basic

basic pipeline VAO 和 VBO VBO 在GPU中存贮顶点数据等 VAO 描述VBO的属性,如何访问VBO中的数据 EBO 索引缓冲对象 存储 VBO 中顶点的索引, 减少了内存占用和数据传输量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30...

assimp

下载 对于x86版本,可以直接下载release的版本 使用问题 aiProcess_PreTransformVertices flag cause meshes to merge, need manually perform coordinate transformation aiProcess_ValidateDataStructure will automatica...

bazel learn

bazel 基本规则 BUILD 文件: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 // 编译依赖项 cc_library( name = "test"...

将qnx编译方式由qcc修改为gcc

qnx.nto.toolchain.cmake, 在这个文件中 1 2 3 set(CMAKE_C_COMPILER ${QNX_HOST}/usr/bin/qcc) set(CMAKE_CXX_COMPILER ${QNX_HOST}/usr/bin/q++) set(CMAKE_ASM_COMPILER ${QNX_HOST}/usr/bin/qcc) c...

blender 注意事项

blender在导出fbx的时候,会自动将属性一模一样的材质合并 导出fbx blender中模型的z轴坐标为0,但导出fbx后使用assimp加载,一直是y轴坐标是0。 forward: -Z; Up: Y; 取消勾选Use Space Transform; TODO 快捷键 开启大写会使快捷键失效