滴滴3D 图形渲染引擎开发(J250623015)
社招全职3年以上技术地点:北京状态:招聘
任职要求
任职要求 1、本科或以上学历,计算机及相关专业,有3年以上Android工程开发经验; 2、有扎实的编程功底,良好的代码结构与设计能力,熟悉 C++ 3、有扎实的图形学基础,熟悉OpenGL ES 或 Vulkan,有完整的3D项目开发经验; 4、 熟悉常见3D引擎(如Unity、Unreal、Ogre)或自研渲染引擎优先; 5、具备良好的编码习惯、问题分析与解决能力,逻辑思维清晰; 6、有一定的Shader开发经验(GLSL/HLSL)优先 加分项: 有游戏引擎(如 Unity/Unreal)或自研引擎经验; 有移动端实时渲染(AR、地图、HMI、车机)经验;
工作职责
岗位说明 1、负责 Android 平台下的 3D 图形渲染引擎开发与性能优化; 2、协同产品、设计师一起,优化无人化座舱的用户乘车体验,提高用户满意度指标; 3、搭建并维护 3D 渲染架构,支持模型加载、材质系统、动画系统等核心能力; 4、使用OpenGL ES / Vulkan / Unity / Unreal等技术构建高性能的3D渲染模块; 5、优化渲染性能,提升用户交互体验;
包括英文材料
学历+
Android+
https://roadmap.sh/android
Step by step guide to becoming an Android developer .
https://www.youtube.com/playlist?list=PLQkwcJG4YTCSVDhww92llY3CAnc_vUhsm
开发框架+
[英文] Understanding Modern Development Frameworks: A Guide for Developers and Technical Decision-makers
https://www.freecodecamp.org/news/understanding-modern-development-frameworks-guide-for-devs/
多线程+
https://liaoxuefeng.com/books/java/threading/basic/index.html
和单线程相比,多线程编程的特点在于:多线程经常需要读写共享数据,并且需要同步。
https://www.youtube.com/watch?v=_uQgGS_VIXM&list=PLsc-VaxfZl4do3Etp_xQ0aQBoC-x5BIgJ
https://www.youtube.com/watch?v=IEEhzQoKtQU
https://www.youtube.com/watch?v=mTGdtC9f4EU&list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4
https://www.youtube.com/watch?v=TPVH_coGAQs&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp
https://www.youtube.com/watch?v=xPqnoB2hjjA
This video is an introduction to multithreading in modern C++.
https://www.youtube.com/watch?v=YKBwKy5PrpQ
Rust threading is easy to implement and improves the efficiency of your applications on multi-core systems!
Java+
https://www.youtube.com/watch?v=eIrMbAQSU34
Master Java – a must-have language for software development, Android apps, and more! ☕️ This beginner-friendly course takes you from basics to real coding skills.
Kotlin+
https://kotlinlang.org/docs/kotlin-tour-welcome.html
Quickly learn the essentials of the Kotlin programming language through our tours, which will take you from beginner to intermediate level.
https://learnxinyminutes.com/kotlin/
Kotlin is a statically typed programming language for the JVM, Android and the browser. It is 100% interoperable with Java.
https://www.youtube.com/watch?v=EExSSotojVI
In this full Kotlin course, you will learn the most popular programming language on Android and start building your own apps.
C+++
https://www.learncpp.com/
LearnCpp.com is a free website devoted to teaching you how to program in modern C++.
https://www.youtube.com/watch?v=ZzaPdXTrSb8
OpenGL+
https://www.youtube.com/watch?v=45MIykWJ-C4
Learn how to use OpenGL to create 2D and 3D vector graphics in this course.
https://www.youtube.com/watch?v=W3gAzLwfIP0&list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2
https://www.youtube.com/watch?v=XpBGwZNyUh0&list=PLPaoO-vpZnumdcb4tZc4x5Q-v7CkrQ6M-
ElasticSearch+
https://www.youtube.com/watch?v=a4HBKEda_F8
Learn about Elasticsearch with this comprehensive course designed for beginners, featuring both theoretical concepts and hands-on applications using Python (though applicable to any programming language). The course is structured in two parts: first covering essential Elasticsearch fundamentals including index management, document storage, text analysis, pipeline creation, search functionality, and advanced features like semantic search and embeddings; followed by a practical section where you'll build a real-world website using Elasticsearch as a search engine, working with the Astronomy Picture of the Day (APOD) dataset to implement features such as data cleaning pipelines, tokenization, pagination, and aggregations.
Unity+
https://www.youtube.com/watch?v=XtQMytORBmM
Unity is an amazingly powerful game engine - but it can be hard to learn. Especially if you find tutorials hard to follow and prefer to learn by doing. If that sounds like you then this tutorial will get you acquainted with the basics - and then give you some goals to learn the rest by yourself.
Unreal+
[英文] Learn Unreal Engine
https://dev.epicgames.com/community/unreal-engine/learning
From your first steps to complete mastery of Unreal Engine, we've got you covered.
https://www.youtube.com/watch?v=BGsFLoYp1V8
I have a complete beginner course for anyone new to Unreal. Following this tutorial will teach you all the basics of Unreal Engine and bring you through creating your first cinematic scene.
编程规范+
[英文] Google Style Guides
https://google.github.io/styleguide/
Every major open-source project has its own style guide: a set of conventions (sometimes arbitrary) about how to write code for that project. It is much easier to understand a large codebase when all the code in it is in a consistent style.
Shader+
https://clauswilke.com/art/post/shaders
To the uninitiated, shader programming can appear like magic.
https://learnopengl.com/Getting-started/Shaders
A great resource to learn modern OpenGL aimed at beginners.
[英文] Shader Learning
https://shader-learning.com/
Shader Learning is a platform that helps you learn and enhance your shading skills by solving interactive problems.
https://www.youtube.com/watch?v=3mfvZ-mdtZQ
Shaders are an incredibly useful programming tool to have under your belt, especially for creative coding and generative art.
Vulkan+
https://developer.android.com/codelabs/beginning-vulkan-on-android#0
Vulkan is the primary low-level graphics API on Android. Vulkan enables reaching higher performance for games that implement their own game engine and renderer.
https://docs.vulkan.org/tutorial/latest/00_Introduction.html
The ideas behind Vulkan are similar to those of Direct3D 12 and Metal, but Vulkan has the advantage of being fully cross-platform and allows you to develop for Windows, Linux and Android at the same time.
https://edw.is/learning-vulkan/
I learned some Vulkan and made a game engine with two small game demos in 3 months.
https://vulkan-tutorial.com/
This tutorial will teach you the basics of using the Vulkan graphics and compute API.
相关职位
校招算法与软件
3D 渲染引擎作为智能座舱的核心模块之一,具备 3D 渲染、视觉特效、粒子动画等渲染能力,能够为桌面、理想同学、环视、天气等应用提供丰富的显示效果。 具体的工作内容如下: 1. 参与3D渲染引擎的设计与开发; 2. 负责部分模块的设计与开发工作; 3. 参与3D渲染引擎的调优、性能调优及开发工具建设; 4. 负责部分渲染特效的实现及产品化。
校招算法与软件
3D 渲染引擎作为智能座舱的核心模块之一,具备 3D 渲染、视觉特效、粒子动画等渲染能力,能够为桌面、理想同学、环视、天气等应用提供丰富的显示效果。 具体的工作内容如下: 1. 参与3D渲染引擎的设计与开发; 2. 负责部分模块的设计与开发工作; 3. 参与3D渲染引擎的调优、性能调优及开发工具建设; 4. 负责部分渲染特效的实现及产品化。
社招3年以上A39049
1、参与字节跳动跨平台框架的图形渲染引擎开发; 2、参与自研跨平台(Android、iOS、嵌入式全平台)UI FrameWork开发; 3、参与跨平台UI FrameWork的2D/3D渲染引擎的开发; 4、参与跨平台UI FrameWork多端多平台业务落地。
更新于 2023-11-09