寻几个 C++练手的项目 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ross249
V2EX    C++

寻几个 C++练手的项目

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

    背景:

    最近学了一圈 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  
    @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     Solana     5242 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 05:51 PVG 13:51 LAX 22:51 JFK 01:51
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86