寻几个 C++练手的项目

2022-09-29 08:18:49 +08:00
 Ross249

背景:

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

选项:

此外:

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

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

opengl 的话可以尝试写个 wrapper ?
JohnBull
2022-09-29 13:31:12 +08:00
可一重写下 OpenCV 的矩阵部分试试看
yl4311629
2022-09-29 14:23:40 +08:00
git 上面这个项目感觉比较如何你的预期 https://github.com/lettier/3d-game-shaders-for-beginners
jones2000
2022-09-29 20:38:20 +08:00
找个用 c++开发的公司实习下就行了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/883697

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX