Skip to content

Instantly share code, notes, and snippets.

View ufna's full-sized avatar
:octocat:
⊂(◉‿◉)つ

Vladimir Alyamkin ufna

:octocat:
⊂(◉‿◉)つ
View GitHub Profile
@MomoDeve
MomoDeve / questions.txt
Created October 26, 2021 20:54
rendering engineer Huawei
Вопросы на rendering engineer Huawei
- в чем разница между forward и deferred rendering? Какие плюсы и минусы у каждого из двух подходов (производительность / ограничения)
- какие способы рендерить прозрачную геометрию вы знаете?
- что такое алиасинг? Из-за чего он происходит? Какие есть алгоритмы антиалиасинга? Как реализован встроенный MSAA и чем он лучше SSAA?
- как работает TAA и какие дефекты он вызывает?
- как оптимально рисовать большое число объектов на экране? Какие есть способы отсечения? (на GPU и CPU)
- как работает Kd-дерево, bvh, bsp? Какая у них асимптотика и от чего она зависит?
- для чего нужны mip-уровни текстур и фильтрация текстур?
@Anruin
Anruin / UE4_GenerateMipmaps.cpp
Last active April 10, 2024 03:51
CPU code used to generate dynamic mipmaps for UE4 dynamic UTexture2D objects.
// Copyright 2021 Impossibility Labs Inc. https://github.com/ArtheonVR.
// Based on: https://answers.unrealengine.com/questions/607129/how-do-you-generate-mips-at-runtime.html
void FAsyncTaskDownloadTexture::GenerateMipmaps() const {
const int32 Width = Texture->GetSizeX();
const int32 Height = Texture->GetSizeY();
// Texture bytes.
TArray<uint8> TextureByteArray;
TextureByteArray.AddUninitialized(Texture->PlatformData->Mips[0].BulkData.GetElementCount());
@raysan5
raysan5 / custom_game_engines_small_study.md
Last active May 28, 2024 15:33
A small state-of-the-art study on custom engines

CUSTOM GAME ENGINES: A Small Study

a_plague_tale

A couple of weeks ago I played (and finished) A Plague Tale, a game by Asobo Studio. I was really captivated by the game, not only by the beautiful graphics but also by the story and the locations in the game. I decided to investigate a bit about the game tech and I was surprised to see it was developed with a custom engine by a relatively small studio. I know there are some companies using custom engines but it's very difficult to find a detailed market study with that kind of information curated and updated. So this article.

Nowadays lots of companies choose engines like Unreal or Unity for their games (or that's what lot of people think) because d

State of Roblox graphics API across all platforms, with percentage deltas since EOY 2019. Updated December 27 2020.

Windows

API Share
Direct3D 11+ 89% (+4%)
Direct3D 10.1 7% (-2%)
Direct3D 10.0 3.5% (-1.5%)
Direct3D 9 0.5% (-0.5%)
@wanggang316
wanggang316 / dante_setup.sh
Created July 10, 2019 16:41 — forked from gpchelkin/dante_setup.sh
How To Setup SOCKS5 Proxy Server for (not only) Telegram using Dante on Ubuntu 16.04 / 18.04
### NOT A SCRIPT, JUST A REFERENCE!
# install dante-server
sudo apt update
sudo apt install dante-server
# or download latest dante-server deb for Ubuntu, works for 16.04 and 18.04:
wget http://archive.ubuntu.com/ubuntu/pool/universe/d/dante/dante-server_1.4.2+dfsg-2build1_amd64.deb
# or older version:
wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb
@brunojppb
brunojppb / teamcity_2018_ubuntu_setup.md
Last active September 10, 2021 07:49
Setup TeamCity 2018 on Ubuntu

Setting up TeamCity 2018 on Ubuntu

Install Java 8

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer
@norlin
norlin / UE5-Project.sublime-build
Last active December 7, 2022 19:26
Build system for Unreal Engine projects for Sublime Text
{
"cmd": [
// Default path for UE 5
"C:/Program Files/Epic Games/UE_5.0/Engine/Build/BatchFiles/Build.bat",
// Build configuration is set to "Development" by default
"Development",
// The platform is set to Win64 by default
"Win64",
"-Project",
// The Sublime project name must match the Unreal project filename
@evilactually
evilactually / CMakeLists.txt
Created August 8, 2016 21:00
Compiling GLSL to SPIR-V from CMake
if (${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "AMD64")
set(GLSL_VALIDATOR "$ENV{VULKAN_SDK}/Bin/glslangValidator.exe")
else()
set(GLSL_VALIDATOR "$ENV{VULKAN_SDK}/Bin32/glslangValidator.exe")
endif()
file(GLOB_RECURSE GLSL_SOURCE_FILES
"shaders/*.frag"
"shaders/*.vert"
)
@zmij
zmij / has_free_function.hpp
Last active February 1, 2017 08:33
Metafunctions for checking for existence of member and free functions
template < typename T >
class has_FUNCTION_NAME_function {
template < typename U = T >
static ::std::true_type test(decltype(FUNCTION_NAME(::std::declval<T>()), void())*);
static ::std::false_type test(...);
public:
using type = decltype(test(nullptr));
static constexpr bool value = type::value;
};
@megamorf
megamorf / Install-LinuxToolChain
Last active October 15, 2019 07:21
Powershell function to help setting up the Linux toolchain for UE4
function Install-LinuxToolChain {
<#
.SYNOPSIS
Downloads and installs the UE4 linux toolchain components.
.DESCRIPTION
Downloads the clang compiler to $ToolChainDestination and creates a
system-wide environment variable pointing to it.
Afterwards you have to regenerate the UE4 engine project files and