小编fod*_*dex的帖子

为什么 git 不再看到我的子模块中的更改?

Windows 用户在这里。我有一个带有一堆子模块的 C++ git 项目。目录结构看起来像这样:

source
  apps
    myapp1
    myapp2
  externals
    submodule1
    submodule2
    ...
    submoduleN
  packages
    mypackage1
    mypackage2
CMakeLists.txt
Makefile
...
Run Code Online (Sandbox Code Playgroud)

这些子模块是我自己的工作,我在我的项目之间共享(因此我拥有并维护它们)。

克隆这个很简单:

git clone ssh://blabla@blabla/blabla
git submodule update --init
Run Code Online (Sandbox Code Playgroud)

一切都有效一段时间。当我更改子模块中的内容并执行 操作时git status,git 会识别出这一点并显示如下内容:

C:\blabla>git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified …
Run Code Online (Sandbox Code Playgroud)

git git-submodules

8
推荐指数
1
解决办法
4342
查看次数

GLSL 几何着色器替代 glLineWidth

我正在尝试编写一个几何着色器来替换glLineWidth行为。我想绘制具有可自定义宽度的线条(现在使用统一的线条就足够了)。无论相机投影或与线条所在位置的距离如何,线条应始终具有相同的粗细。

基于大量的谷歌搜索,我想出了以下几何着色器:

#version 330

layout (lines) in;
layout (triangle_strip, max_vertices = 4) out;

uniform mat4    u_model_matrix;
uniform mat4    u_view_matrix;
uniform mat4    u_projection_matrix;
uniform float   u_thickness = 4; // just a test default

void main()
{
    float r = u_thickness / 2;

    mat4 mv = u_view_matrix * u_model_matrix;
    vec4 p1 = mv * gl_in[0].gl_Position;
    vec4 p2 = mv * gl_in[1].gl_Position;

    vec2 dir = normalize(p2.xy - p1.xy);
    vec2 normal = vec2(dir.y, -dir.x);

    vec4 offset1, offset2;
    offset1 = vec4(normal * r, …
Run Code Online (Sandbox Code Playgroud)

opengl glsl line geometry-shader

6
推荐指数
1
解决办法
5090
查看次数

标签 统计

geometry-shader ×1

git ×1

git-submodules ×1

glsl ×1

line ×1

opengl ×1