原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十一章:环境光遮蔽(AMBIENT OCCLUSION) 学习目标 熟悉环境光遮蔽的基本思路,以及通过光线跟踪的实现方法: 学习如何在屏幕坐标系下实现实时模拟的环境光遮蔽. 1 通过光线追踪实现的环境光遮蔽 其中一种估算点P遮蔽的方法是光线跟踪.我们随机跟踪点P半圆内的光线,然后查看和网格相交的光线.如果跟踪了N条光线,相交了h条,那么点P的遮蔽值为: 只有交点q…
第十一章. 异常 1) try/except/else格式 try: s = raw_input('--> ') except EOFError: print 'Why did you do an EOF on me?' except: print 'Error occurred.' else: print 'Done' except参数说明: except: Catch all (or all other) exception types. except name…
本文翻译自 The Flask Mega-Tutorial Part III: Web Forms 这是Flask Mega-Tutorial系列的第三部分,我将告诉你如何使用Web表单. 在第二章中我为应用主页创建了一个简单的模板,并使用诸如用户和用户动态的模拟对象.在本章中,我将解决这个应用程序中仍然存在的众多遗漏之一,那就是如何通过Web表单接受用户的输入. Web表单是所有Web应用程序中最基本的组成部分之一. 我将使用表单来为用户发表动态和登录认证提供途径. 在继续阅读本章之前,确保你…
本文翻译自The Flask Mega-Tutorial Part XVII: Deployment on Linux 这是Flask Mega-Tutorial系列的第十七部分,我将把Microblog部署到Linux服务器. 在本章中,我将谈到Microblog应用生命周期中的一个里程碑,因为我将讨论如何将应用部署到生产服务器上,以便真实用户可以访问它. 部署的主题非常广泛,因此不可能在这里涵盖所有范畴. 本章致力于探讨传统托管方式,包括Ubuntu发行版的Linux服务器和流行的树莓派微机…