V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ross249
V2EX  ›  C++

寻几个 C++练手的项目

  •  
  •   Ross249 · 2022-09-29 08:18:49 +08:00 · 4646 次点击
    这是一个创建于 811 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:

    最近学了一圈 C++、OpenGL 和图形学相关的知识,想找些简单易上手的项目练练手

    选项:

    • 与图形学相关
    • 与游戏相关亦可

    此外:

    如果有其他领域的优秀项目也欢迎各位老哥留下项目名称或地址

    18 条回复    2022-09-29 20:38:20 +08:00
    governcoco
        1
    governcoco  
       2022-09-29 08:33:57 +08:00
    可以去 B 站跟着写游戏试试
    huihushijie1996
        2
    huihushijie1996  
       2022-09-29 09:05:04 +08:00   ❤️ 2
    我的这个开源 非常适合练手 https://github.com/yinhui1129754/CppFishingCode
    muchenlou
        3
    muchenlou  
       2022-09-29 09:07:17 +08:00
    练手是抄写一遍吗?熟悉代码的语法吗
    Maboroshii
        4
    Maboroshii  
       2022-09-29 09:07:22 +08:00 via Android   ❤️ 1
    recastnavigation 最近在看
    Ross249
        5
    Ross249  
    OP
       2022-09-29 09:30:21 +08:00 via iPhone   ❤️ 1
    @muchenlou 我是先看源码,大致了解实现思路后,自己再做一遍,最后有想法的话再顺着去实现
    besto
        6
    besto  
       2022-09-29 09:48:45 +08:00
    不清楚你想练习的是 C++,还是图形学。。。另外 OpenGL 和游戏的差距,大约还隔着好几层图形引擎。。。
    o00o
        7
    o00o  
       2022-09-29 09:54:37 +08:00
    手机拍摄的图片 消除黑灰色底色、优化文字、图片分割
    有能做的吗?
    xuboying
        8
    xuboying  
       2022-09-29 09:56:44 +08:00   ❤️ 2
    懂 OpenGL 和写游戏好像差的还有点远。。。
    可以看看这个库,有非常的例子
    https://www.raylib.com/
    bthulu
        9
    bthulu  
       2022-09-29 09:57:44 +08:00
    我这里有一套 XP 的源码, 要不要试着自己重写一套 XP 出来?
    Ross249
        10
    Ross249  
    OP
       2022-09-29 10:05:53 +08:00 via iPhone
    @besto 抱歉,我可能没表述清楚,我主要是想练习图形学这块,游戏相关指的是游戏引擎方面
    star9029
        11
    star9029  
       2022-09-29 10:43:37 +08:00
    图形学人三轮子:软渲染,软光追,数学库
    besto
        12
    besto  
       2022-09-29 11:04:05 +08:00   ❤️ 1
    @star9029 软渲染,难点都在光栅化,透视矫正插值计算,和齐坐标裁减上了(简易实现这个可以不做),这些现代 GPU 全自动,除了想深入理解 GPU ,毫无用处;软光追,基本教程都是假定物体是正圆形,只是圆形无限大就能模拟平面了。。。code 倒是很简单,跑起来慢的要死;数学库,推导一遍差不多了,基本都有各种现成的,随手拿来就能用的。图形学还是要学习各种光照着色算法比较重要,尤其 MRT 之后玩法就多了,直接从引擎上手比较好
    wodong
        13
    wodong  
       2022-09-29 11:32:14 +08:00
    同求 C 、C++服务端练手项目
    star9029
        14
    star9029  
       2022-09-29 11:42:53 +08:00   ❤️ 1
    @besto 那不如直接去看 shadertoy 和 games104......而且软光栅软光追,真的有那么容易么,软光追支持 mis ,microfacet material ,bdpt 了么。况且图形学不止渲染,仿真和几何也是图形学,可以考虑自己写一个框架,把 games 102 和 103 的作业复现一次
    indevn
        15
    indevn  
       2022-09-29 11:59:26 +08:00   ❤️ 1
    path tracing 的话先看 samllPT 这种比较短的代码,可以尝试在它的基础上进行重构,完成一个 pbrt-like 的渲染器。先实现简单的 path traing ,然后再继续尝试实现不同的 brdf 以及 bdpt 等特性。不过一切的前提是把 smallpt 看懂,其中应该还会包含一些 mis 之类的方法,如果你只会 games101 和 games202 这样的程度,那大概率是看不懂的。
    所以我觉得你可以先实现一遍 pbrt ?

    opengl 的话可以尝试写个 wrapper ?
    JohnBull
        16
    JohnBull  
       2022-09-29 13:31:12 +08:00
    可一重写下 OpenCV 的矩阵部分试试看
    yl4311629
        17
    yl4311629  
       2022-09-29 14:23:40 +08:00   ❤️ 1
    git 上面这个项目感觉比较如何你的预期 https://github.com/lettier/3d-game-shaders-for-beginners
    jones2000
        18
    jones2000  
       2022-09-29 20:38:20 +08:00
    找个用 c++开发的公司实习下就行了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1442 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 17:16 · PVG 01:16 · LAX 09:16 · JFK 12:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.