韩版传奇 2 源码分析与 Unity 重制(三)客户端渲染管线

发布时间:2023年12月28日

专题介绍

该专题将会分析 LOMCN 基于韩版传奇 2,使用 .NET 重写的传奇源码(服务端 + 客户端),分析数据交互、状态管理和客户端渲染等技术,此外笔者还会分享将客户端部分移植到 Unity 和服务端用现代编程语言重写的全过程。

概览

在这一篇文章中,我们将开始分析传奇客户端的 2D 渲染管线,了解传奇早期的美术资产设计与渲染流程。

底层图形接口

可能传奇在设计之初没有考虑到跨平台用途,或是为了做到极致性能,开发者直接使用了 Direct 3D 的图形接口进行 2D 渲染管线的开发,在客户端的 Main Form 被加载的时候会进行 D3D 的初始化,开发者封装了 DXManager 来管理 RenderState:

// CMain.cs
private void CMain_Load(object sender, EventArgs e)
{
    this.Text = GameLanguage.GameName;
    try
    {
        ClientSize = new Size(Settings.ScreenWidth, Settings.ScreenHeight);
        
        DXManager.Create();
        SoundManager.Create();
        CenterToScreen();
    }
    catch (Exception ex)
    {
        SaveError(ex.ToString());
    }
}

// DXManager.cs
using SlimDX;
using SlimDX.Direct3D9;
using Blend = SlimDX.Direct3D9.Blend;

publi
文章来源:https://blog.csdn.net/gogocsdn1/article/details/135247514
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。