Refactor rendering architecture and replace rasterizer with renderer
- Introduced SoftwareRenderer as a pixel-accurate software rendering backend. - Removed the obsolete wolf_3d_rasterizer.dart file. - Created a new wolf_3d_renderer.dart file to centralize rendering exports. - Updated tests to accommodate the new rendering structure, including pushwall and projection sampling tests. - Modified the WolfAsciiRenderer and WolfFlutterRenderer to utilize the new SoftwareRenderer. - Enhanced enemy spawn tests to include new enemy states. Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import 'package:test/test.dart';
|
||||
import 'package:wolf_3d_dart/src/rasterizer/rasterizer.dart';
|
||||
import 'package:wolf_3d_dart/src/rendering/renderer_backend.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_data_types.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_engine.dart';
|
||||
|
||||
@@ -28,7 +28,7 @@ void main() {
|
||||
});
|
||||
}
|
||||
|
||||
class _TestRasterizer extends Rasterizer<FrameBuffer> {
|
||||
class _TestRasterizer extends RendererBackend<FrameBuffer> {
|
||||
_TestRasterizer({required this.customProjectionViewHeight});
|
||||
|
||||
final int customProjectionViewHeight;
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'package:test/test.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_data_types.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_engine.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_input.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_rasterizer.dart';
|
||||
import 'package:wolf_3d_dart/wolf_3d_renderer.dart';
|
||||
|
||||
void main() {
|
||||
group('Pushwall rasterization', () {
|
||||
@@ -64,7 +64,7 @@ void main() {
|
||||
..offset = 0.5;
|
||||
engine.pushwallManager.activePushwall = pushwall;
|
||||
|
||||
final frame = SoftwareRasterizer().render(engine);
|
||||
final frame = SoftwareRenderer().render(engine);
|
||||
final centerIndex =
|
||||
(frame.height ~/ 2) * frame.width + (frame.width ~/ 2);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user