<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/beyondlwm</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; beyondlwm]]></copyright><item><title><![CDATA[Yaw Pitch Roll的变换顺序问题]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/78183053</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/78183053</guid><author>beyondlwm</author><pubDate>Mon, 09 Oct 2017 15:26:42 +0800</pubDate><description><![CDATA[今天花了不少时间去理解Yaw Pitch Roll的变换顺序
比如给定一个旋转(15， 30， 60)，那么物体应该先围绕哪个轴转呢？总得有个顺序吧？


解决这个问题的第一个天坑就是：网上的资料坐标系都不一样！所以很多文章虽然说的是同一件事情，但是描述是不一样的，因为他们坐标系不一样！
我自己理解这个问题是OPENGL的左手坐标系，即：Y是上下，X是左右，Z是内外。对应一下：Yaw是对]]></description><category></category></item><item><title><![CDATA[一些关于矩阵的理解]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/49021989</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/49021989</guid><author>beyondlwm</author><pubDate>Sat, 10 Oct 2015 12:23:44 +0800</pubDate><description><![CDATA[因为长时间不使用矩阵，会经常对一些概念有混淆，现记录如下，大量自己的不专业理解：
1. 矩阵元素在内存中存储顺序不受影响的原因。
DX采用的是行优先，OPENGL采用的是列优先，但是矩阵元素在内存中的存储位置确是（巧合的）一致，这是因为矩阵乘法的特性导致的。
首先对于一个齐次坐标（x, y, z, 1）来说，
DX是行优先，所以它是一个１行４列的矩阵，记为1 x 4
OPENGL是列优先]]></description><category></category></item><item><title><![CDATA[国产手游开源引擎Beyond Engine简介 [附视频]]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/40427457</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/40427457</guid><author>beyondlwm</author><pubDate>Fri, 24 Oct 2014 16:30:11 +0800</pubDate><description><![CDATA[Beyond Engine是由成都超越工作室自主研发的一款跨平台3d游戏引擎。
目前引擎正致力于内部研发游戏项目《星际奇兵》，demo包链接：http://www.youxichaguan.com/game/show/1857





引擎有如下特点：

1.      支持 所见即所得 和 Play & Edit
功能：能在编辑器中实时切换游戏和编辑状态，随时修改，立刻测试]]></description><category></category></item><item><title><![CDATA[关于写程序的一个经验]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/9060255</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/9060255</guid><author>beyondlwm</author><pubDate>Sat, 08 Jun 2013 23:52:08 +0800</pubDate><description><![CDATA[最近有一些感触。
我从外企出来以后，分别进入过两家民企，接触过两个游戏项目，也算是大项目。
虽然两个项目的技术层次不一样，但有一个症结都很雷同，我相信也是大部分项目都有的问题。
就是，今天修好了这个bug，那边又冒起来一个，像打地鼠一样，根本就修不完。就算是修到基本稳定，也是千疮百孔，四处补丁。


我认为，导致这种问题的最根本原因是，程序员没有遵照：一个模块只做一件事情  的基本原则]]></description><category></category></item><item><title><![CDATA[wxWidgets作为DLL运行时部分控件背景刷新不正常]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/8447054</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/8447054</guid><author>beyondlwm</author><pubDate>Fri, 28 Dec 2012 13:12:27 +0800</pubDate><description><![CDATA[刚才解决了一个拖了很久的问题，心情瞬间轻松好多。
wxwidgets作为一个NB的跨平台第三方库我就不过多介绍了，问题来源于我的需求，我之前做了一个可以植入任何win32程序的DLL，这个DLL的UI界面就是用wxwidgets来实现的。
因为这个库必须要求独立和通用，所以它必须有自己的环境，包括独立的线程和消息机制。wxwidgets在这方面做得不错，至少我还没见过加载一个dll就能弹出一个]]></description><category></category></item><item><title><![CDATA[服务器的AI优化（一个隐晦的瓶颈）]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/8122465</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/8122465</guid><author>beyondlwm</author><pubDate>Mon, 29 Oct 2012 00:05:33 +0800</pubDate><description><![CDATA[最近被指派去优化服务器性能，因为在目前情况下，DEBUG版本服务器在城战的时候FPS从100直降到0.33，导致完全不能正常的debug。
经过Vtune以及其他手段的分析，最后确定瓶颈是在，NPC在搜索目标的开销。实际上，关于搜索本身就是一个比较大的学问。服务器现在的做法是，用网格优化，直接取一个范围内的网格，网格内保存了当前所在的NPC的ID，每个ID 16字节。在城战情况下，因为NPC密度]]></description><category></category></item><item><title><![CDATA[游戏项目程序开发随想]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/8033951</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/8033951</guid><author>beyondlwm</author><pubDate>Sun, 30 Sep 2012 12:09:07 +0800</pubDate><description><![CDATA[“程序员就是解决问题的人”


五年前刚进入育碧时，经理的这句话深深的映入脑海，至今记忆犹新。
不得不感叹，国内外公司在不同的企业文化下，有着截然不同的价值观。就我后来的经历来看，大部分公司的开发主管是不会专门抽时间，举办一个会议告诉你程序员到底是什么样的人。我也许是幸运的，我牢记了这句话，并在以后的工作中不断的以此为职业准绳面对工作中的各种问题，建立了自己对于职业的好坏标准。
如同大家]]></description><category></category></item><item><title><![CDATA[迄今遇到过最难排除的两个bug]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/7985877</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/7985877</guid><author>beyondlwm</author><pubDate>Sun, 16 Sep 2012 22:42:22 +0800</pubDate><description><![CDATA[1. 

在类中有成员std::vector m_systemDatas;
有成员变量 SystemData* m_pRenderSystemData;
初始化时将m_pRenderSystemData = &m_systemDatasp[0];
症状：在运行过程中，m_pRenderSystemData所指向的地址被回收。


第一想到的就是，在不恰当的地方删除了这个对象。
检]]></description><category></category></item><item><title><![CDATA[论MMORPG游戏服务器架构]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/7956853</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/7956853</guid><author>beyondlwm</author><pubDate>Sat, 08 Sep 2012 00:16:11 +0800</pubDate><description><![CDATA[就我见到过的MMO服务器架构做一个总结吧。
第一种，靠一个matchmaking服务器来做负荷均衡，这种架构比较适合大厅游戏或者副本游戏。方法是用一个服务器作为登陆服务器，所有玩家请求连接的要求都被该服务器处理，除了将玩家分配到相对空闲的服务器外，还要处理玩家的特殊搜索需求，譬如等级在多少之间的，同样需要完成什么副本任务的等等，将这么一群合适的人一起分配在同一个服务器。这样的优点就是服务器资源得]]></description><category></category></item><item><title><![CDATA[可视化脚本]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/7905823</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/7905823</guid><author>beyondlwm</author><pubDate>Fri, 24 Aug 2012 23:51:04 +0800</pubDate><description><![CDATA[最近自己写了一个这个东西，我不知道这么称呼它是否准确。
简单的说就是，以极小的代价，让程序内部的变量自动映射到一个可视化UI上，这样可以方便策划进行数据修改，保存以后，程序又自动的把这些数据读入。避免了每次新写一个系统，就要定义一个新格式的XML，然后策划要学习新的关键字，程序要写新的解析代码。其实这种情况在我遇到过的项目里基本都存在，而且从来没有人质疑过这样反复重复的劳动是否必要。]]></description><category></category></item><item><title><![CDATA[今天才体会到多线程的快感]]></title><link>https://blog.youkuaiyun.com/beyondlwm/article/details/7771468</link><guid>https://blog.youkuaiyun.com/beyondlwm/article/details/7771468</guid><author>beyondlwm</author><pubDate>Sat, 21 Jul 2012 22:36:47 +0800</pubDate><description><![CDATA[以前写代码几乎从来没考虑到过多线程的使用，可能是因为没有涉及到过大量运算的处理，一般都是单线程写完就完，处理时间也就最多几十秒，等等也就ok

最近在写一些和服务器工具相关的东西，涉及到大量的数据运算，仍然没有使用多线程的意识，写完以后发现处理所有的数据运算需要7个小时，并且认为大不了晚上就可以挂机做
后来被主程要求认真考虑提高性能，才开始真正重视功能以外的事情，于是开始用多线程处理数据，写]]></description><category></category></item></channel></rss>