The first thing you need to ask yourself is: What frequency range do I want to achieve?
With that processor and its 48 MHz max clock, I would guess your max frequency might be 200,000 Hz. Given the possible number of samples per cycle, processor update rate of the DAC and the number of processor instructions needed per update.
You would be better off controlling a dedicated DDS chip to generate the waveform and just using the processor to update the DDS, a small display and a rotary encoder.
There are several threads out there on DIY Function Generators.
Here is one example:
https://www.eevblog.com/forum/projects/idea-for-a-tiny-function-generator/To answer some of your questions:
You would want to generate a symmetrical waveform around zero voltage. You also want amplitude adjustment and DC offset adjustment. For the majority of the time, a sine, triangle and square would meet your needs. A nice to have waveform would be a PWM waveform for motor speed control as an example.
Even if the low frequency of the processor generated waveform is acceptable, you will need some op-amps to buffer, scale and filter the waveform at a minimum. If the DAC has a lot of bits (12-bits maybe), you could do the amplitude and offset adjustments by scaling each sample. Far from ideal, but feasible. Otherwise, you will need several DACs to do the waveform scaling (i.e. one for the waveform generation, one for amplitude and one for DC offset).
From what you said of your background, this is going to be a challenging project. Both from a hardware and a software point of view.