123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- #include "CPBRLighting.h"
- #include <algorithm>
- #include "CGraphicsTexLoadOptions.h"
- #include "CFTTGraphicsDevice.h"
- #include "CFTTTexture.h"
- #include "CMatchSetup.h"
- #include "CGFXSpec.h"
- #include "CGfxPitch.h"
- #include "Matrix.h"
- #include "memctrl.h"
- #include "HalfConverter.h"
- CPBRLighting *CPBRLighting::ms_pInstance;
- struct UseBy_DiffuseKitFormula {
- float field_0;
- float field_4;
- };
- //0018E454 //^_-
- UseBy_DiffuseKitFormula DiffuseKitFormula(float a2, float a3, float a4, float a5, float a6, float a7, float a8, float y, float a10, float a11, EPlayerShaderQuality a12) {
- UseBy_DiffuseKitFormula v13;
- return v13;
- }
- //-------------------------------------------------------------------------------------------------
- //0018C9D4
- CPBRLighting::CPBRLighting() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018CC78
- CPBRLighting::~CPBRLighting() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018C984
- void CPBRLighting::Init() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018C9A4
- void CPBRLighting::Shutdown() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018C9C4
- CPBRLighting *CPBRLighting::Get() {
- return (CPBRLighting*)rand();
- }
- //-------------------------------------------------------------------------------------------------
- //0018CA14 -_- 经过单元测试,功能正常
- void CPBRLighting::Initialise(bool a2) {
- }
- //-------------------------------------------------------------------------------------------------
- //0018CCB8 ^_- 部分指令顺序不一样, 部分用的寄存器不一样(单元测试,输出纹理对象内部RGB数据的MD5值一样,必须在开启高端机器上运行才会被调用)
- void CPBRLighting::CreateVersatileLUT() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018CF08 ^_-指令顺序是不一样的(这个模块测试, 在部分情况下MD5值不一样)
- void CPBRLighting::CreateSpecularLUT(EPBRLightingMat a2, float a3, float a4, float a5, int a6, int a7, float a8, float a9) {
- }
- //-------------------------------------------------------------------------------------------------
- //0018D1F0 ^_-指令顺序是不一样的(这个模块测试, 输出纹理对象内部RGB数据的MD5值一样,但不确保对象内部其它数据一致)
- void CPBRLighting::CreateDiffuseLUTSkin() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018D4BC //^_- 单元测试结果: 输出buffer的md5相同
- //不同点: 0018D62E处我的汇编少一条指令,其余地方完全相同
- void CPBRLighting::CreateDiffuseLUTKit() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018D66C //^_- 单元测试结果: 输出buffer的md5相同
- //不同点: 0018D772处我的汇编少一条指令,其余地方完全相同
- void CPBRLighting::CreateDiffuseLUTKitAlpha() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018D7AC //^_- 单元测试结果: 输出buffer的md5相同
- //不同点: 0018D91E处我的汇编少一条指令,其余地方完全相同
- void CPBRLighting::CreateDiffuseLUTSuit() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018D95C //^_- 单元测试结果: 输出buffer的md5相同
- //不同点: 0018DACE处我的汇编少一条指令,其余地方完全相同
- void CPBRLighting::CreateDiffuseLUTTracksuit() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018DB0C //^_- 单元测试结果: 输出buffer的md5相同
- //不同点: 0018DC12处我的汇编少一条指令,其余地方完全相同
- void CPBRLighting::CreateDiffuseLUTHair() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018DC4C //^_- 单元测试结果: 输出buffer的md5相同
- //不同: 很多地方不同
- void CPBRLighting::CreateGrassLUT() {
- }
- //-------------------------------------------------------------------------------------------------
- //0018E154 ^_^
- void CPBRLighting::Reinitialise(bool b) {
- LOGE("%x%x",this,b);
- }
- //-------------------------------------------------------------------------------------------------
- //0018E1AA
- void CPBRLighting::Prepare() {
- //emtry
- }
- //-------------------------------------------------------------------------------------------------
- //0018E1AC ^_^
- void CPBRLighting::floatToFour(float a1, uchar *a2, float a3) {
- }
- //-------------------------------------------------------------------------------------------------
- //0018E574
- void CPBRLighting::CreateDiffuseLUTBall() {
- //没有调用到
- }
- //-------------------------------------------------------------------------------------------------
- //0018E684 ^_^
- CFTTTexture *CPBRLighting::GetDiffuse(EPBRLightingMat eMat) {
- LOGE("CPBRLighting::GetDiffuse%p%x",this,eMat);
- return (CFTTTexture *)rand();
- }
- //-------------------------------------------------------------------------------------------------
- //0018E68C ^_^
- CFTTTexture *CPBRLighting::GetSpecular(EPBRLightingMat eMat) {
- LOGE("CPBRLighting::GetSpecular%p%x",this,eMat);
- return (CFTTTexture *)rand();
- }
- //-------------------------------------------------------------------------------------------------
- //0018E694 ^_^
- CFTTTexture *CPBRLighting::GetVersatile() {
- LOGE("CPBRLighting::GetVersatile%p",this);
- return (CFTTTexture *)rand();
- }
- //-------------------------------------------------------------------------------------------------
- //0018E698 ^_^
- CFTTTexture *CPBRLighting::GetGrass() {
- return nullptr;
- }
- //-------------------------------------------------------------------------------------------------
- //0018E69C
- void CPBRLighting::SpecialFrac(float f) {
- //没有调用到
- }
- //-------------------------------------------------------------------------------------------------
|