Margoo

...?

一种高效、简易、高质量的 2D 游戏 PBR 光照实现方法 银牌收录

本文将会介绍一个我正在制作的项目 PaperCraft 中有关游戏 2D 光照的实现。 提供一个低成本的基于有符号距离场可用于实时 2D 光照渲染的可行思路。 本文将会提供一种可能的代码来实现该方法,阐述该方法的优缺点.。 并在本文最后附上 EasyX 实现代码并给出性能测试.

RCEngine:一个基于 EasyX 的伪 3D 游戏引擎 银牌收录

RCEngine 是一个基于 EasyX 的伪 3D 游戏引擎,旨在为用户提供一个简单、易于学习的游戏开发环境。它提供了一些基本的 3D 功能,如场景、相机、材质等,以及一些基本的游戏功能,如角色控制、碰撞检测等。用户可以通过学习 RCEngine 的基本概念和 API,快速地创建自己的伪 3D 游戏。

Ray Tracing in One Weekend 汉化 银牌收录

Peter Shirley 教授的 Ray Tracing Weekend 系列书籍一直是我个人十分喜爱的一本入门书籍,在初次阅读完后就萌生了对其进行翻译的想法,鉴于原书是基于 STBImage 的代码,和国内大多使用 EasyX 进行教学的环境有一定出入,因此我对代码进行了一定的“本土化”,并且,我对原著中的图片也重绘翻译,对一些篇章进行了修改,希望可以有利于后来者吧。

基础函数图像的绘制 铜牌收录

本文将会介绍如何绘制出一些基础的函数图象,并对一些可能遇到的问题提供我的解决方案,绘制函数图像是一个非常复杂的话题,本文中给出的代码也只能画出基础的函数图像。

使用 EasyX 实现 UI 原理教程(章二 绘图单元)

返回:本文目录

布局在一个界面上的形形色色的控件我们都可以叫他为一个单元 ( cell )。

如上图所示,任意一个控件(不论它是否能与用户发生交互,图形规律与否)都是一个单元, 上一篇文章 我们已经学会了触发器以及相关实现,那么,我们将一个控件比作一个动物细胞,我们可以说触发器是细胞核,而绘图单元则是细胞膜,两者缺一不可,触发器负责处理用户点击,而绘图单元则负责展示画面。

接下来,我们将上一篇文章所写的触发器封装为 “trigger.h”(文件内容上一章已标注),然后再来开始今天的代码学习,由刚刚的介绍我们知道,绘图单元是负责将控件画出来的,所以不同的控件要拥有不同的绘图单元,那么我们首先创建一个根据图形贴图的绘图单元,因为绘图单元和触发器缺一不可,所以我们的绘图单元要派生于异形触发器 "geometry_trigger" 类。

接下来,我们来大概设计一下一个基础的贴图绘图单元:

...

使用 EasyX 实现 UI 原理教程(章一 触发器)

[返回:本文目录](/margoo/easyx-control-menu)

触发器是判断鼠标是否浮动到控件上的判断器,分为两大类:

  1. 异形触发器。
  2. 矩形触发器。

先说矩形触发器吧。

如上图,这是一个使用 fillreactangle 函数画出来的矩形,这个时候让你想办法判断鼠标是否点击了该矩形,你一定会想到,用鼠标 x、y 坐标与矩形 x、y 坐标和长、宽来解决,确实这是一个方法,这里放一下伪代码:

// 伪代码
如果 (鼠标_x >= 矩形_x && 鼠标_x <= 矩形_x + 矩形长 &&
	  鼠标_y >= 矩形_y && 鼠标_y <= 矩形_y + 矩形宽)
{
	鼠标点击处理();
}

基于上面的逻辑,我们尝试在 C++ 中

...

Photo Editor 铜牌收录

寒假过半的时候,我突发奇想写一个图片编辑器出来,经过半个月的折腾写出来这个 Photo Editor,代码不算优良,仅供参考