Luty

睡眠是第一生产力


  • 首页

  • 关于

  • 归档

  • 搜索

GAMES101实验环境搭建(Vscode + CMakeTools + CppTools + Mingw64)

发表于 2020-12-05 |

GAMES101 Vscode可行配置

Vscode中C++引入第三方库的方式大致有以下三种:

  1. 对于非Cmake项目,利用CppTools(Miscrosoft官方为Vscode提供的编译和调试插件)的IntelliSense功能,通过设置c_cpp_properties.json中的includePath项引入对应库的/include目录。
  2. 对于Cmake项目,利用CMakeTools (Miscrosoft官方为Vscode提供的Cmake插件)一键基于CMakeList.txt生成/build目录,在通过内置终端make并运行。
  3. 对于Cmake项目,同时使用CppTools与CMakeTools ,高度自动化的预设置支持一键build和一键debug,在配置合理的情况下这种方式是最高效的。麻烦点在于需要对setting.json,c_cpp_properties.json,task.json,launch.json进行额外配置。假设使用windows下以mingw64为编译器,具体改动如下。

    • setting.json。在工作区配置中将C_Cpp.default.configurationProvider设置为ms-vscode.cmake-tools,表示通过CMakeTools 引入外部链接而不是内置的includePath。

    • c_cpp_properties.json。如果在setting.json中已配置或配置失效,可以添加configurationProvider设置为ms-vscode.cmake-tool从而实现同样的引入效果,两者不冲突。

    • task.json。由于CMakeTools 在CMakeList.txt保持的时候就完成了build,因此只需提供make的任务指令即可,具体指令根据环境变量的设置而变,一般为make或mingw32-make,json配置如下

      1
      2
      3
      4
      5
      6
      7
      8
      9
      // tasks下添加
      {
      "label": "make",
      "options": {
      "cwd": "${workspaceFolder}/build"
      },
      "type": "shell",
      "command": "mingw32-make -j4",
      }
    • launch.json。注意指定正确的miDebuggerPath和program,并加载task.json中新添加的make为前置任务,json配置如下(Assignments2为例)

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      "configurations": [
      {
      "name": "debug",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}\\build\\Rasterizer.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "D:\\MinGW\\mingw64\\bin\\gdb.exe",
      "setupCommands": [
      {
      "description": "为 gdb 启用整齐打印",
      "text": "-enable-pretty-printing",
      "ignoreFailures": true
      }
      ],
      "preLaunchTask": "make"
      }
      ]

其他坑

  1. eigen和opencv自带include文件无法被正确引入时,需要自己用Cmake进行本地构建和编译,这里的坑搜一下网上的文章基本能解决。
  2. 在用mingw本地编译opencv时需要使用mingw64-posix离线版,online版的选了posix还不行。
  3. CMakeList.txt找不着包,是环境变量没有被正确配置。所幸GAMES101的助教提供了写好的CMakeList作为参照,把拥有xxxconfig.cmake的目录添加到对应的环境变量即可(例如设置OpenCv DIR目录为包含opencvconfig.cmake的路径),不必绕进cmake的一堆坑。

GAMES101 - 现代计算机图形学入门 - 原理总结(Updating)

发表于 2020-11-27 | 分类于 graphics |

Preface

最近想好好打下计算机图形学的基础,于是掏出了收藏夹里积灰许久的GAMES101课程。GAMES101是GAMES (Graphics And Mixed Environment Seminar)系列公益课程的第一部,授课老师为UCSB的助理教授闫令琪老师。GAMES101因为专注于原理的分析与解释,并提供了BBS、助教和作业提交系统等一套完备的学习设施,课程质量广受好评。课程地址:https://sites.cs.ucsb.edu/~lingqi/teaching/games101.html

本文章主要包括以下几个内容:

  • 计算机图形学基本原理和分析方法的记录
  • 该课程作业分析和解决方案
  • 该课程的部分涉及内容的拓展

因为本人比较容易遗忘原理类的知识,所以做好记录还是蛮有必要的。本文不属于详尽的内容笔记,更倾向于记录一些主观容易遗忘的重点难点。

  • Overview
    • Covered Topics
    • References
  • Transformation
    • 点和向量的表示
    • Scale
    • Reflection
    • Rotation
    • View Transform
      • 问题描述
    • Projection Transform
      • 问题描述
      • Orthographic Transform
      • Perspective Transform
  • Rasterization
    • Antialiasing
    • Antialiasing Today
阅读全文 »

LudumDare46-Jam纪实

发表于 2020-04-21 | 分类于 gamejam |

前言

本着「 Learning by Doing 」的想法,刚入坑一个月的我决定参加LudumDare46去体验完整的小游戏开发过程,由于并没有学过原型实现工具,因此工程上就采用速成的U3D,美术素材部分基于现有素材的二次修改,其余用Aseprite绘制,音乐选自opengameart.org的Dont touch it,个人觉得不错就使用了。

参加的类型是Jam,因为是独立开发并且本人基本不具备美术和音乐设计能力,没有能力参加Comp组,并且48h的时限对我来说还是太紧。

阅读全文 »

对 Ori and the will of the wisps 简单总结.md

发表于 2020-03-15 | 分类于 games |

前言

本文行文比较随意,作为即时记录通关之后的想法。

主要思考了下第二部在level-up机制,boss战,核心玩法上的改变。

阅读全文 »

游戏解构的基本框架

发表于 2020-02-17 | 分类于 games |

前言

主要根据个人的学习情况记录一些游戏分析与解构的常用框架、关注重心和实际方法。

文章仅代表个人观点,可能与他人观点或书本有出入。

阅读全文 »

记一次《死亡搁浅》的解构

发表于 2019-12-08 | 分类于 games |

《死亡搁浅》是小岛工作室于2019年11月8日于索尼PlayStation4平台发售的游戏,同样也是小岛秀夫在离职科纳美之后的第一部作品。小岛秀夫作品个人风格明显:大段的过场CG,惊艳的镜头和光影设计,隐晦而深刻的主题,其之前《合金装备》《寂静岭》等作品都因此而广受好评。《死亡搁浅》是我关注时间最久的作品,从第一次TGA宣传到正式发售一直跟进,现通关之后借短暂回味的时间记录下一些想法。(略带安利性质)

1A543B87E3DC9E601D4569DF6C76D00D

阅读全文 »

TensorFlow从入门到入坟

发表于 2018-11-25 | 分类于 tensorflow |

记录对这个框架的基本理解,一些重要的API和一些工程实践。

阅读全文 »

CTF题解记录-web篇

发表于 2018-11-13 | 分类于 ctf |

记录打比赛时期做的一些web练习题

后几周的因为架构变复杂了,就懒得记录里,思路其实都差不多。

阅读全文 »

Scrapy豆瓣ADHD小组爬虫实例

发表于 2018-10-26 | 分类于 python |

让自己熟悉数据资源获取->数据持久化并整理->数据可视化的数据处理流程,顺便记录下Scrapy的框架的使用过程。

阅读全文 »

浅谈注入攻击及小结

发表于 2018-08-08 | 分类于 web |

最近科三考试临近,疲惫的练车时光就要结束了,彩六也是打到手软才突然想起要学习,决定挤出了点时间研究下sql inject,在这里做下记录和小结。

疲惫

阅读全文 »
12<i class="fa fa-angle-right"></i>
Luty

Luty

11 日志
7 分类
23 标签
RSS
GitHub E-Mail
Links
  • kay
  • dimpurr
  • merak
© 2018 — 2020 Luty
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4