legacy-luastg-engine / luastg-sub Goto Github PK
View Code? Open in Web Editor NEWLuaSTG Sub, a modern version of the LuaSTG engine. LuaSTG Sub,现代化的 LuaSTG 引擎分支。
License: MIT License
LuaSTG Sub, a modern version of the LuaSTG engine. LuaSTG Sub,现代化的 LuaSTG 引擎分支。
License: MIT License
i've been facing this strange error during my experience in using LSTGSub. It did not exactly happen before, but it's a prevalent issue ever since, and it prevents me from loading my projects and testing what I have created. even just lauching the vanilla LuaSTGSub.exe to see the demo mode, the same error is given to me. my laptop specs are included in the engine.log file attached.
目前想到的:
1、通过 hlsl 宏定义,提供常用的宏用于简化寄存器声明等
2、提供 hlsl 的 #include 功能,方便编写复杂的 shader
3、允许开发者编译 shader 的时候传递自定义宏定义,允许将不同的功能模块写进同一个 shader,然后通过不同的宏定义编译出不同的 shader 字节码
说明
目前随机数发生器只有从某seed开始不断取后续值的功能,遇到需要从中间某状态恢复的需求时则较为困难
现有方案的局限
实际使用遇到的问题
其他事项
由于 animation 资源的加载方案只有基于区域完全密铺的方案,导致 animation 资源在实际上是一种对资源空间利用率非常低的结构
综合以上来说,我认为需要实现一个新的针对 animation 的加载方案来解决这些问题
这样就不用为了纯白方块特地带一个png文件了
I've been experimenting with using rendertargets as textures, and one thing that's bothered me is that if you click on another window in fullscreen (I use two monitors) it breaks depending on how it's rendered.
If using lstg.RenderTexture
: Sampler state set in lstg.SetTextureSamplerState
breaks.
If using lstg.LoadImage
on the rendertarget, then rendering that image: The image freezes.
If you could fix this that would be amazing, I'd like to use this concept to better organize how stuff is rendered in game, and this is practically the only thing that would prevent me from doing so.
把资源加载丢到后台线程允许,不阻塞主线程
When modifying an object's color using self._a, self._r, self._g and self._b (but not self._color), LuaSTG crashes with no error and no information on the .log file.
Code in image below: (zclass is identical to Class, however, it sets the [".render"] key of the class to true automatically, tests done on the code packaged with the latest release in Github, v0.18.10.)
The engine.log:
engine.log
XAudio2 fails to load under Linux/Wine (using Kron4ek Wine 9.1) and leaves the exe running without audio.
The debug assertions fail in LuaSTG/Platform/RuntimeLoader/All.cpp, so it would make sense that the dll hacks placed there would be the cause.
Current release version of LuaSTG works perfectly with my Linux/Wine setup, including audio.
当前引擎默认使用工作路径作为文件系统根路径,但有时候会有特殊的需求,比如保持文件系统根路径为exe可执行文件所在路径,或者32位、64位版本的引擎分别放在x86、x64文件夹内时,需要将文件系统根路径设置为相对exe的上一级路径。
本提案为config.json配置文件添加一个字段,用于引擎初始化时配置文件系统根路径。
示例:
{
"filesystem_root": "${EngineExeFileDir}/../"
}
Using PostProcess(shdr,rt,id,blend,{ num1, num2, num3, num4 }) instead of PostProcess(shdr,rt,id,blend,{{ num1, num2, num3, num4 }}) causes the application to silently crash, without any errors or mention on engine.log.
1、提供获取当前引擎设置的API,允许查询画布分辨率、全屏等设置
2、提供命令行参数接口来配置画布分辨率、全屏等设置
固定设计/渲染分辨率的画布模式其实在很多 2D 游戏(比如 galgame)和弹幕风中都有使用,其特征为,画布大小固定,渲染分辨率固定,且对平台相关的窗口大小、显示设置等无感知,也与它们无关。
由于该改动过于巨大,可能会涉及引擎大量组件的更改和 Lua API 的巨大变动,计划开一个新分支用来实现该特性。
设计上:
进度:
在launch文件中的直接报错不会导致程序退出,而是在报错后继续启动程序(虽然实际并没有用,但一直会开着)
同时,在 luajit/luajit#1021 提出的问题会影响到引擎的工作,会在不触发任何报错的情况下直接导致引擎退出,同时在日志中无法查阅到任何信息(包括进行引擎销毁等行为),疑似直接导致引擎闪退而不是正常的报错退出流程
目前纹理寄存器只开放了 1 + 4 个,一开始我觉得已经够用了。
但是万万没想到,紫毛福瑞居然和我说不够用。
那就得考虑开放到 1 + 15 了。
目前需要考虑的问题:
1、如何解决兼容性问题?引入新的 API 来实现?
2、是否应该通过 hlsl 语言的宏定义功能来简化 shader 编写和内建变量的配置?
参考弹幕风与LuaSTG-X中的顶点动画渲染设计,提供对于各种非常规四顶点情形下的纹理渲染支持,降低用户自行模拟所带来的额外性能损失
很多情形下(例如符卡背景)会存在需要循环寻址的需求,而现有的解决方案是手动重复渲染或者使用尚未公开说明的特定API实现,而该API实现会影响全局状态,需要自主还原,带来许多不必要的麻烦与性能损失,因此需要有一个可以针对指定纹理的寻址方式修改需求
其实对于大多数用户来说使用时更倾向于Sprite内部的循环寻址但是这个总感觉非常微妙,这种东西另外再考虑吧
更多需求待后续添加,我也有点忘了
I added a model to the stage background of my script, and when the boss comes in it disappears. It seems to be related to the RenderTarget more than the PostEffect shaders.
To reproduce, try rendering a model resource between calls to PushRenderTarget
and PopRenderTarget
.
这个功能对于很多习惯于连贯的鼠标操作的用户来说有很负面的操作体验
希望尝试使用其他方式更新鼠标状态而不是强行挪动鼠标
https://github.com/Legacy-LuaSTG-Engine/Bundle-After-Ex-Plus Over here is what it seems like 0.8.22 but in the OneDrive folder the last one is 0.8.21. Is that an error, or intentional, because the THlib from 0.8.22 is pretty different from the previous version.
TODO,API 设计还在思考中
修正拼写到omega,deprecate omiga属性
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.