<p align="center">
<a href="https://github.com/vinibiavatti1/RayCastingTutorial/wiki" align="center"><img src="https://github.com/vinibiavatti1/RayCastingTutorial/blob/master/resources/logo.png?raw=true" /></a>
<h1 align="center">RayCasting Tutorial</h1>
<p align="center">A tutorial repository for anyone who wants to learn how to render RayCasting like old 3D games!</p>
<h3 align="center"><a href="https://github.com/vinibiavatti1/RayCastingTutorial/wiki">-- Tutorial --</a></h3>
</p>
### Introduction
RayCasting is a technique to create a 3D projection based on 2D plane. This technique was used for old games when computers didn't have a good performance like today computers. You can find this rendering method in [Wolfstein 3D](https://en.wikipedia.org/wiki/Wolfenstein_3D) that is considered to be the first 3D game ever. The game [DOOM](https://en.wikipedia.org/wiki/Doom_(1993_video_game)) uses a similar technique known as [binary space partitioning (BSP)](https://en.wikipedia.org/wiki/Binary_space_partitioning), but this tutorial is focused on the RayCasting implementation only.
<img src="https://upload.wikimedia.org/wikipedia/commons/e/e7/Simple_raycasting_with_fisheye_correction.gif" />
### Programming language
The programming language used for this tutorial is Javascript with HTML5. This was choosen because the ease of implementation and because this language has weak-typing, so this is fast to program in. The other rason for this language is that you will not need a lot of resources to execute your code, just a web browser. I recommend to use some IDE, like [Visual Studio Code](https://code.visualstudio.com/) for coding.
### Pre-requisites
The implementation is not so hard, but you have to know the basics of trigonometry, programming language, and graphical programming (canvas). For more details of pre-requisites, check the list below:
- Javascript (Programming language)
- Basic of Trigonometry
- HTML5 Canvas
### Tutorial
Click in this [link](https://github.com/vinibiavatti1/RayCastingTutorial/wiki) to access the tutorial. This tutorial is in the Wiki page of this repository.
### Contributing
If you wants to contribute for this tutorial, suggest some fix, found something wrong or contribute to this project, please, open an issue in this repository and I will analyze it with great pleasure. Thanks!
没有合适的资源?快使用搜索试试~ 我知道了~
一个简单的RayCasting游戏开发 渲染教程_JavaScript_代码_下载
共36个文件
png:27个
html:4个
js:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 180 浏览量
2022-06-24
23:46:52
上传
评论 1
收藏 2.79MB ZIP 举报
温馨提示
介绍 RayCasting 是一种基于 2D 平面创建 3D 投影的技术。当计算机没有像今天的计算机那样好的性能时,这种技术被用于旧游戏。您可以在被认为是有史以来第一个 3D 游戏的Wolfstein 3D中找到这种渲染方法。游戏DOOM使用了一种类似的技术,称为二进制空间分区 (BSP),但本教程只关注 RayCasting 的实现。 效果展示:https://camo.githubusercontent.com/daecd33a2897b6878e56506fb90bcf48f65024622ab06336ecfcbb17de7e17d1/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f652f65372f53696d706c655f72617963617374696e675f776974685f666973686579655f636f7272656374696f6e2e676966 更多详情、使用方法,请下载后阅读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
RayCastingTutorial-master.zip (36个子文件)
RayCastingTutorial-master
advanced
background.png 2KB
floor.png 297B
raycasting.js 18KB
test_floor.png 184B
texture.png 207B
raycasting.html 566B
sprite.png 284B
mode7
floor.png 160B
raycasting.js 12KB
texture.png 207B
raycasting.html 431B
intermediary
raycasting.js 10KB
texture.png 207B
raycasting.html 370B
resources
Blakestone2.png 1.39MB
fisheye.png 96KB
Floorcasting1.png 30KB
shocahtoa.png 63KB
stripes.png 44KB
wrong floor result.png 33KB
Raytracing.png 514KB
fisheye ex.png 47KB
hovertank.png 4KB
fisheye2.png 35KB
sohcahtoa.png 59KB
Floorcasting2.png 49KB
Raycasting projection.png 49KB
FloorCasting.png 45KB
fisheye1.png 13KB
FOV2.png 35KB
logo.png 13KB
Inverse fisheye.png 16KB
raycasting_wolf.png 332KB
basic
raycasting.js 5KB
raycasting.html 324B
README.md 2KB
共 36 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9156
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Qt开发知识、经验总结 包括Qss,数据库,Excel,Model/View等
- IV数据.xlsx
- 一些深度学习中的小例子,适合新手学习使用
- foldcraftlauncher_262944.apk
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功