armory3d / armory3d/armory

Large textures crash with "outofmem" error

Open
#2,746 7 comments 0 reactions 0 assignees View on GitHub
bug has workaround
Dominant language
C++
Stars
3.3k
Forks
353
Avg merge
3d 16h
Merged PRs (30d)
1

Description

**Description**
Attempting to load large textures will reliably crash the Armory Player with the following message:

```
Not enough memory on image.c Buffer.
outofmem
```

**To Reproduce**
1. Utilize a large texture (4096 pixels by 2048 pixels is the smallest I've reproduced the issue with so far) in a material.
2. Attempt to start the game.

**Expected behavior**
The expectation is that the large texture would load and be displayed by the game.

Large textures may be necessary in some cases, for example when using tilesheets. The largest I would expect tilesheets to be required to support is 8192x8192.

**System**
Blender:
Armory: 2022.12.0 (tested on release and git `main`)
OS: Windows 10
Graphics card: NVidia GTX 3080

**Test File**
[BasicTexture.zip](https://github.com/armory3d/armory/files/10329966/BasicTexture.zip)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by opening the provided BasicTexture.zip in Blender and reproduce the Armory Player crash with a 4096x2048 texture. Trace the "Not enough memory on image.c Buffer" and "outofmem" failure, then verify that the texture loads and displays, including the stated larger texture sizes.

Written by the indexing model from the issue text.

Assessment

Tech stack
blender
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.